【发布时间】:2013-09-22 13:41:43
【问题描述】:
所以我只想检查我的函数出了什么问题。它给出的素数很好,但是当我输入像 4 这样的数字时,它会打印“4 不是素数”然后“4 是素数”。 似乎是什么错误? (我知道这很可悲,但我花了 8 个小时来做这个(初学者)。
def isprime(n):
if n == 1:
print ("1 is not prime.")
if n == 2:
print ("2 is a prime number.")
for x in range (2, n):
if n%x == 0:
print (n, "is not prime.")
if n%x != 0:
print (n, "is a prime number.")
【问题讨论】:
-
您需要从您的函数中返回
True或False,然后根据该函数进行打印。否则你会得到几份印刷品。 -
在这里查看解决方案:docs.python.org/2/tutorial/…
-
除了下面的正确答案外,请记住,尤其是在寻找错误时打印出您关心的所有内容——在这种情况下,x 也是。 "print (n, " 不是素数;它除以 ", x)" 会立即显示您的错误。
标签: python function numbers primes