0
第9行(如果n + 1 == x)与检查数字是否为素数有关?需要帮助理解is_prime函数的第9行;有没有更简单的方法来实现这个功能?
有没有更简单的方法来建立这个功能?
def is_prime(x):
if x == 2:
return True
elif x > 2:
for n in range(2, x):
if x % n == 0:
return False
else:
if n + 1 == x:
return True
else:
return False
'如果n + 1 == x'只是检查当前数字'n'是否比目标数字'x'小1。如果你一直到'x'之前的数字都没有找到一个能够分成数字的数字(实际上甚至没有那么远,有很多优化),'x'怎么能是除了素数之外的任何东西? – jonrsharpe
@jonrsharpe除非OP询问那个块有什么意义?我想可以直接删除它,并在'for'后面直接输入'True',而不是那个奇怪的检查... –
@JonClements是的,它不是检查艺术的主要例子! – jonrsharpe