人!
我有一个codecademy Python课程练习,我必须检查传递的参数是否为素数。我的代码如下所示:
def is_prime(x):
for n in range(2, x-1):
if (x < 2):
return False
elif(x % n == 0):
return True
else:
return False
在我看来,我已经涵盖了所有可能性,但它始终显示此错误:
Your function fails on is_prime(0). It returns None when it should return False.
就我所见,这属于第一个if条件。有人能解释一下这是怎么回事吗?
答案 0 :(得分:4)
提示,当x为0时,range(2, x-1)
内的数字是什么?
答案 1 :(得分:2)
此版本可能有效。
def is_prime(x):
if (x < 2):
return False
for n in range(2, x-1):
if(x % n == 0):
return False
return True