我写这个函数是为了测试数字的素数性,我知道这不是最好的代码,但我希望它打印出非素数当一个数字不是素数时,是素数当一个数字是素数时。问题是它打印出非素数然后是素数对于非素数的数字。。。 例如,此代码:
def isPrime(n):
for i in range(2, n):
if n%i==0:
print "Not Prime!"
break
print "Is Prime"
isPrime(5)
isPrime(18)
isPrime(11)
打印出来。你知道吗
Is Prime
Not Prime!
Is Prime
Is Prime
帮帮我,我该怎么办?我是个初学者。你知道吗
break
不存在于函数之外,它只是退出一个循环。因此,一旦打印出“Not prime”,就退出循环并转到下一个print语句。你知道吗将
break
替换为关键字return
。return
将立即退出函数,返回您在return语句中给出的值,或者None
如果您只是将return
放在没有值的旁边。你知道吗下面是一个补丁(python3)
您发布的代码中的问题是总是执行最后一个
print
。你知道吗相关问题 更多 >
编程相关推荐