當我運行此代碼并將輸入輸入為 25 時,它應該回傳它不是素數 num,但是當我除錯代碼時,范圍值沒有迭代到 if 條件,只有范圍的第一個值被傳遞,如果它不是 = = 0 它移動到 else 部分。
def find(x):
if x > 1:
for i in range(2,x):
if x % i == 0:
return "its not a prime num"
else:
return "Its a prime num"
user = int(input("Enter your no: "))
print(find(user))
請幫助我為什么它會這樣作業,我是編程新手。TIA
uj5u.com熱心網友回復:
如評論中所述,這是一個簡單的解決方法。只需將else陳述句移到return回圈之外。
def find(x):
if x > 1:
for i in range(2,x):
if x % i == 0:
return "its not a prime num"
return "Its a prime num"
user = int(input("Enter your no: "))
print(find(user))
uj5u.com熱心網友回復:
return即使迭代仍未完成,使用回圈內部也會破壞它并退出函式。改為使用print。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/436051.html
