Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python打印素数的程序_Python_Python 3.x - Fatal编程技术网

Python打印素数的程序

Python打印素数的程序,python,python-3.x,Python,Python 3.x,我已经开始学习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") 当我输入不是质数的数字时,我得到的输出不是质数,但当我输入的是质数时,我得到的输出是质数 Prime number Prime numbe

我已经开始学习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")
当我输入不是质数的数字时,我得到的输出不是质数,但当我输入的是质数时,我得到的输出是质数

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")

循环应该检查所有的数字,然后才打印not prime,例如这样

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")` 

在这段代码中,最后一条语句应该小心管理。因此,它会循环打印,并注意您移动的标签。

我认为您的缩进不正确。签出..的
。。Python中的else
print(“质数”)
应该在
else
中。您在这里用过else吗?