Python打印素数的程序
我已经开始学习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
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吗?