【发布时间】:2021-01-21 17:57:16
【问题描述】:
所以最近我一直在尝试找出应该检查数字是否为素数的算法。于是我想出了一个主意,让代码看起来像这样:
def if_prime(num):
for divisor in range(2,num):
if (num % divisor) == 0:
return f"{num} is not prime"
else:
return f"{num} is prime"
print(if_prime(9))
所以基本上这段代码返回了错误的值,它说 9 是质数,显然不是,但是下面的代码似乎可以工作,我不知道有什么区别。
def if_prime(num):
for divisor in range(2,num):
if (num % divisor) == 0:
return f"{num} is not prime"
return f"{num} is prime"
print(if_prime(9))
【问题讨论】:
-
第一个从不查看除 2 以外的除数;它返回一个字符串是否
num % 2 == 0。