def is_prime(x): if x < 2: return False else: for n in range(2, x): if x % n == 0: return False else: return True print is_prime(9)返回True而不是False.我不太明白。在range (2,9)包括該列表:2,3,4,5,6,7,8和9 % 3 == 0,那我怎么沒有得到False那個(gè)函數(shù)的答案呢?
2 回答

慕少森
TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊
這是因?yàn)槟鷮?shí)際上并未循環(huán),因?yàn)槟诘谝粋€(gè)循環(huán)中返回 True(9 % 2 == 0 為 False)。
這樣的事情應(yīng)該可以解決問題:
def is_prime(x):
if x < 2:
return False
for n in range(2, x):
if x % n == 0:
return False
return True
添加回答
舉報(bào)
0/150
提交
取消