2016-06-09 81 views
0

在我的程序中查找素數,只有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」這一行。 –

回答

2

當用戶輸入n的素數時,它只能被1和自身整除。但range(1,n)永遠不會到n,所以ctr是1爲質數,而不是2.