python 3.逻辑错误在检查数字是否是质数
问题描述:
在我的程序中查找素数,只有else语句被显示,即使用户输入质数。我的if else语句有问题吗?或者在一些数学运算符中?我试图用python语法正确缩进它。并请修改代码。python 3.逻辑错误在检查数字是否是质数
num=int(input("enter a number : "))
ctr=0
i=1
for i in range(1,num):
if(num%i==0):
ctr+=1
if(ctr==2):
print(num," is prime")
else:
print(num," is not prime")
答
当用户输入n
的素数时,它只能被1和自身整除。但range(1,n)
永远不会到n
,所以ctr
是1为质数,而不是2.
更改'if(ctr == 2)'为'if(ctr == 1)'。你可以删除“i = 1”这一行。 –