2016-05-18 64 views
-1

我做了一個名爲'l'的列表,然後我在裏面創建了一個if語句的for循環。 if語句假設檢查num是否爲偶數(等於0),如果是則它將打印num,否則它將打印「奇數」。Python if語句使用Modulo

爲什麼第一個印刷錯誤(2 4奇數!) ,第二個正確打印(奇數2個奇數號碼4奇數)

我已經試圖改變在第一個間隙,但我不斷收到聲明異常。

l = [1, 2, 3, 4, 5] 
# First 

for num in l: 
if num % 2 == 0: 
    print num 
else: 
print 'Odd number!' 

print 
print 

#Second 

for num in l: 
    if num % 2 == 0: 
     print num 
    else: 
     print 'Odd number!' 

輸出:

首先

2 
4 
Odd number! 

Odd number! 
2 
Odd number! 
4 
Odd number! 
+0

縮進在Python中不是可選的if語句和for循環 –

回答

1

壓痕。 Python使用縮進來找出代碼中的範圍,因此對於第一個for循環來說,它不會執行任何操作。像這樣重新格式化:

for num in l: 
    if num % 2 == 0: 
     print num 
    else: 
     print 'Odd number!' 

第二段代碼被正確縮進,這就是它工作的原因。

0

Python關心一行的開始處有多少空白。此行:

if num % 2 == 0: 

不被視爲for循環的一部分。