【发布时间】:2016-06-16 00:16:13
【问题描述】:
我的代码:
def sieve(list1):
not_prime = set()
primes = []
for i in range(2, list1+1):
if i in not_prime:
continue
for x in range(i*2, list1+1, i):
not_prime.add(x)
primes.append(i)
return primes
我正在尝试保留非质数并将其更改为 0。我哪里出错了?除了素数之外,输出甚至没有显示任何其他数字。
【问题讨论】:
-
“我试图保持偶数” - 但除了 2,它们不是素数。为什么要保留它们?
-
你在哪里“把它改成0”?
-
对不起。我的意思是说非质数。不是偶数。
-
非质数进入
not_prime,primes只包含质数。这就是重点。有什么问题? -
您在哪里使用附加到
not_prime集合的值?
标签: python sieve-of-eratosthenes