判断质数的小问题:
from math import sqrt
def is_prime(a):
try:
n=eval(a)
if type(n)!=type(1):
print('请确认您输入的是整数!')#保证输入是整数
else:
if n==1:
return False
for i in range(2,int(sqrt(n))+1):
if n%i==0:
return False
return True
except:
print('请确认您输入的是数字!')#保证输入是数字
while True:
a=input('请输入一个整数,键入“q”退出:')
if a=='q':
break
else:
print(is_prime(a))
请问大佬们:except上面那两行,return False和return True这里有点疑惑: 如果输入是9,那么肯定执行return False,但是接下来应该顺序执行return True才对啊,那么结果应该是先出现False后出现True。但是为啥结果只有一个False呢,是什么使得程序跳过了这个return True的执行呢,按理说return True是独立于最里面那个小循环的啊。
执行完return 函数就退出了 后面的语句全部不执行
大佬,也就是说一个函数只能执行到第一个有效的return吗
对的 函数执行到return就会退出函数 所以只会执行一个有效的return 如果你函数代码里面不写return 就会默认return None