代码求助
def is_prime(number):if number > 1:
if number == 2:
return True
if number % 2 == 0:
return False
for current in range(3, int(math.sqrt(number) + 1), 2):
if number % current == 0:
return False
return True
return False
为什么要写入最后两行代码呀? 防止不返回。 帮你写了注释,分析程序,注意缩进,查看哪个return属于哪个层次。其实很简单的
def is_prime(number):
if number > 1:
if number == 2:
return True #这里不必说,若number为2,肯定是质数,返回True
if number % 2 == 0:
return False #这里也不必多说,若number为2的倍数,肯定不是质数,返回False
for current in range(3, int(math.sqrt(number) + 1), 2):
if number % current == 0:
return False #在for循环过程中,若number有其他的约数,则number不是质数,返回False
return True #若直到for循环结束,都没有return,说明number没有其他的约数,则number是质数,返回True
return False #这一句与第二行的 if 缩进相同,当number>1不成立的时候,返回False sunrise085 发表于 2020-8-17 13:13
帮你写了注释,分析程序,注意缩进,查看哪个return属于哪个层次。其实很简单的
最后一行为什么是number>1不成立的话,返回False呀,第二行的if也没有对应的else呀 风沙度 发表于 2020-8-17 13:20
最后一行为什么是number>1不成立的话,返回False呀,第二行的if也没有对应的else呀
因为如number>1成立的话,进入if语句块,就一定会遇到return,那就不可能会执行到最后一句了。 sunrise085 发表于 2020-8-17 13:38
因为如number>1成立的话,进入if语句块,就一定会遇到return,那就不可能会执行到最后一句了。
啊,明白了,谢谢你
页:
[1]