素数函数,逻辑不对啊,if判断有问题,你测试下,
函数中的0,1换个地方就对了:
def sushu(n):
for i in range(2,n):
if n%i==0:
return 0
else:
return 1
list(filter(sushu,range(101,201)))
[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]
根据题意我给你优化了一下,用了sqrt函数:
import math
def sushu(n):
for i in range(2,int(math.sqrt(n))+1):
if n%i==0:
return 0
else:
return 1
ss = list(filter(sushu,range(101,201)))
print(ss)
如有帮助,请采纳!