gpt4 book ai didi

python - Python 中的 is_prime(x) 程序有问题吗?

转载 作者:行者123 更新时间:2023-12-01 05:38:58 25 4
gpt4 key购买 nike

我很抱歉问了这样一个新手问题,但我在用 Python 编写一个非常基本的程序来检查数字是否为素数时遇到了问题。

这是我的代码:

def is_prime(x):
if x < 2:
print ('Please enter a number >= 2.')
else:
if x == 2 or x == 3 or x == 5:
return True
if x == 4:
return False
for num in range (2, int(x/2)):
if x % num == 0:
return False
break
else:
return True

但这对于所有奇数都返回 True;不仅仅是主要的。我不明白为什么。如果有人能指出我正确的方向,我将不胜感激! :)

最佳答案

您的代码仅检查 num % 2 并根据结果返回 TrueFalse。因此,它对于所有奇数都返回 True。如果循环没有遇到return False,您应该return True,请参阅代码。

def is_prime(x):
if x < 2:
print ('Please enter a number >= 2.')
else:
if x == 2 or x == 3 or x == 5:
return True
if x == 4:
return False
for num in range (2, int(x/2)):
if x % num == 0:
return False
return True


>>> is_prime(11)
True
>>> is_prime(9)
False

P.S - 返回后不需要休息。 :)

关于python - Python 中的 is_prime(x) 程序有问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18132953/

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