繁体   English   中英

Python 程序打印素数

[英]Python program to print prime numbers

我已经开始学习 python 并且我被困在这段代码中

num=int(input("Enter the number"))
for i in range(2, num):
    if num%i==0:
        print("Not a prime number")
        break
        print("Prime Number")

当我输入非素数时,我得到 output 不是素数,但是当我输入素数时,我得到 output 为

Prime number
Prime number
Prime number
Prime number
Prime number

您应该只打印一次,例如:

num = int(input("Enter the number"))
for i in range(2, num):
    if num % i == 0:
        print("Not a prime number")
        break
else:
    print("Prime Number")

循环应该检查所有数字,然后才打印不是素数,例如这样。

num=int(input("Enter the number"))
for i in range(2, num):
    if num%i == 0:
        print("Not a prime number")
        break
    if i > num/2:
        print("Prime Number")
        break

我建议您通过包含有助于初学者的print语句进行调试。

看一下这个:

num=int(input("Enter the number"))
for i in range(2, num//2):   
    if (num % i) == 0: 
        print(num, "is not a prime number") 
        break
else: 
    print(num, "is a prime number")` 

最后一条语句应在此代码中仔细管理。 因此,它会循环打印并处理您移动的标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM