gpt4 book ai didi

python - 这个 python 质数函数有什么问题?

转载 作者:太空宇宙 更新时间:2023-11-03 15:18:26 25 4
gpt4 key购买 nike

所以我只想检查我的功能有什么问题。它可以很好地给出质数,但是当我输入像 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.")

最佳答案

你的算法是错误的,你需要在检测到一个因子后中断,如果没有因子则打印一个素数。

这是更正后的版本:

def isprime(n):
if n == 1:
print ("1 is not prime.")
return
if n == 2:
print ("2 is a prime number.")
return
for x in range (2, n):
if n%x == 0:
print (n, "is not prime.")
break
else:
print (n, "is a prime number.")

关于python - 这个 python 质数函数有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18861352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com