我想(和失敗)寫一個簡單的函數,檢查一個數字是否是素數。我遇到的問題是,當我得到一個if語句時,無論輸入如何,它似乎都在做同樣的事情。這是我有的代碼:爲什麼我的質數測試儀中的模數條件不起作用?
def is_prime(x):
if x >= 2:
for i in range(2,x):
if x % i != 0: #if x/i remainder is anything other than 0
print "1"
break
else:
print "ok"
else:
print "2"
else: print "3"
is_prime(13)
帶註釋的行是我確定問題的地方。無論使用什麼樣的整數作爲參數,它都打印「1」。我很抱歉可能是一個愚蠢的問題,我根本不是一個有經驗的程序員。
您在這裏混合製表符和空格在您的文章。確保你沒有在你的實際文件中。用'python -tt'運行腳本並更正它報告的任何問題。最好將您的編輯器配置爲使用* only *空格進行縮進,遵循PEP 8 styleguide的建議。 –
變量i在if語句上的值是多少? – scrineym
@MartijnPieters不,我只在實際代碼中使用了選項卡,我在我的問題中添加了正確格式化代碼的空格。我試着用'python -tt'運行腳本,但仍然只有一個「1」。 – Taint