【发布时间】:2013-12-19 23:17:49
【问题描述】:
我正在尝试编写一个函数,它接受一个整数 x,如果素数则返回 True,否则返回 False。它工作正常,除了测试数字 121 时,我不知道为什么。这是我的代码:
def is_prime(x):
if x < 2:
return False
elif x == 2:
return True
else:
for i in range(2,x):
if x%i == 0:
return False
else:
return True
在检查 121 时,它似乎跳过了 if x%i == 0:,因为 121%11 为 0,但它不会返回为 False。我在这里遗漏了一些明显的东西吗?我很感激我能得到的任何帮助,谢谢。哦,我正在使用 Python 2.7
【问题讨论】:
-
@VincentShowcaseWorkshop 不是。您链接的问题的所有答案都使用试除法,这是检查数字是合数还是素数的最差方法。
-
删除了我的评论,以免让他误入歧途 :) 为您的评论干杯。