gpt4 book ai didi

python - 素数 python

转载 作者:太空狗 更新时间:2023-10-30 01:28:02 29 4
gpt4 key购买 nike

我是 python 的初级程序员,对我正在编写的代码有疑问:

number = int(input("Enter a random number: "))

for num in range(1, number + 1) :
for i in range(2, num) :
if (num % i) == 0 :
break
else :
print(num)
break

当我运行这个程序时,我还会得到 9、15 21 作为输出。但这些不是素数。我的代码有什么问题?

谢谢!

最佳答案

使用 if (num % i) == 0: 你会为每个 num 转到 else block ,这不是乘法的 2,因为你以 2 开始 i,因此打印 num。我用你的代码打印了所有奇数。

你可以这样使用:

number = int(input("Enter a random number: "))

for num in range(1, number + 1):
prime = True
for i in range(2, num):
if (num % i) == 0:
prime = False
break
if prime:
print(num)

它在遇到没有休息的除数时将 prime 设置为 False

关于python - 素数 python ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35391063/

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