2016-05-18 6 views
-1

私は 'l'というリストを作ってから、if文を使ってforループを作成しました。 ifステートメントは、numが偶数(0に等しい)であるかどうかをチェックすることを想定しています。そうでない場合はnumを出力し、そうでなければ「奇数」を出力します。Moduloを使ったPython if文

なぜ(奇数番号2奇数番号4奇数番号)が正しく間違って最初の1枚の印刷(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!' 

コードの2番目の部分が正しくインデントされていたので、それがうまくいきました。

0

Pythonは、空白が行の先頭にあるかどうかを気にします。この行:

if num % 2 == 0: 

はforループの一部とはみなされません。