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那個函數的答案呢?
2 回答

慕少森
TA貢獻2019條經驗 獲得超9個贊
這是因為您實際上并未循環,因為您在第一個循環中返回 True(9 % 2 == 0 為 False)。
這樣的事情應該可以解決問題:
def is_prime(x):
if x < 2:
return False
for n in range(2, x):
if x % n == 0:
return False
return True
添加回答
舉報
0/150
提交
取消