我尝试实现Eratosthenes的筛网,以检查数字是否为Python中的质数。如果我运行Programm,它将显示我:“进程已完成,退出代码为0”。怎么了?
def primzahl(n):
primzahlen = []
numbers = list(range(2,n))
c = 2
while c*c < n:
for k in range(c,n,c):
if k in numbers:
numbers.remove(k)
primzahlen.append(c)
c = numbers[0]
return primzahlen + numbers
print(primzahl(100))
答案 0 :(得分:0)
只需取消缩进print
语句即可将其从函数中删除。
def primzahl(n):
primzahlen = []
numbers = list(range(2,n))
c = 2
while c*c < n:
for k in range(c,n,c):
if k in numbers:
numbers.remove(k)
primzahlen.append(c)
c = numbers[0]
return primzahlen + numbers
#Unindent this statement
print(primzahl(100))
然后输出
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]