判断质数的小问题:
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是独立于最里面那个小循环的啊。