def is_prime(x): if x < 2: return False else: for n in range(2, x): if x % n == 0: return False else: return True print is_prime(9)返回True而不是False.我不太明白。在range (2,9)包括该列表:2,3,4,5,6,7,8和9 % 3 == 0,那我怎么没有得到False那个函数的答案呢?
2 回答

慕少森
TA贡献2019条经验 获得超9个赞
这是因为您实际上并未循环,因为您在第一个循环中返回 True(9 % 2 == 0 为 False)。
这样的事情应该可以解决问题:
def is_prime(x):
if x < 2:
return False
for n in range(2, x):
if x % n == 0:
return False
return True
添加回答
举报
0/150
提交
取消