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

更改'if(ctr == 2)'为'if(ctr == 1)'。你可以删除“i = 1”这一行。 –

当用户输入n的素数时,它只能被1和自身整除。但range(1,n)永远不会到n,所以ctr是1为质数,而不是2.