好吧,我正在 Udemy 上學習,但我無法弄清楚為什么這行代碼的結果:
numbers = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
result = [num 3 for num in numbers if num % 2 == 0]
print(result)
是 [5, 11, 37] 而不是 [4, 4, 6, 8, 16, 24, 58]?
感謝您的幫助。
uj5u.com熱心網友回復:
如果數字 % 2 == 0
意味著您只想在 num 為偶數時執行代碼。這樣,只有 2,8 和 34 被添加到串列中并增加 3。
您期望的答案(只有奇數加 3)是最后一位是這樣的:
如果數字 % 2 != 0
uj5u.com熱心網友回復:
for num in numbers迭代串列的元素。
if num % 2 == 0限制為偶數。因此,您最終將 3 添加到 : 2、8 和 34 中,這給出了預期的結果。
一個更明確的回圈是:
numbers = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
result = []
for num in numbers:
if num%2 == 0: # if it's even
result.append(num 3)
print(result)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/486724.html
