【发布时间】:2019-06-25 16:15:19
【问题描述】:
我有一个简单的问题:取一个数并确定它是否为素数。我无法弄清楚为什么以下内容不起作用。
def prime(x):
for i in range (2, x):
if x % i == 0:
return False
return True
prime(21)
这返回真!我不知道为什么。
【问题讨论】:
-
您需要先让循环完全运行,然后再返回。它应该在 for 循环之外
-
因为
return意味着函数的结束——在你的情况下,这已经发生在i==2:如果x % 2 == 0和Trueotherwise,则返回False。
标签: python python-3.x primes primality-test