2016-07-01 15 views
-1

なぜ "no"が追加時間印刷されるのですか?ループを別の関数に書き込まずに問題を解決するにはどうすればよいですか?forループの2回実行されたPythonの最後の行

for i in range(2): 
    if i == 1: 
     print("yes") 
    print("no") 

結果:

no 
yes 
no 
+1

'if'ブロックに' continue'を追加行として入れたり、 'else:'ブロックに 'print(" no ")'を入れます。 – zondo

答えて

1

print文が起こる無条件。つまり、再び発火するのを防ぐにはelseはありません。

あなたはelseを使用してそれを防ぐことができます。

for i in range(2): 
    if i == 1: 
     print("yes") 
    else: 
     print("no") 
3

何が起こったのか見てみましょう:

i=0i=、それは最初にそれがnoを印刷した後、yesを印刷するとき、それはno を印刷するとき。

EDIT:それを修正するために、あなたは

for i in range(2): 
    if i == 1: 
     print("yes") 
    else: 
     print("no") 

あるいは、

for i in range(2): 
    if i == 1: 
     print("yes") 
     continue 
    print("no") 
1

Uは、以下のように、それを修正するためにキーワードbreakを使用することができますすることができます

for i in range(2): 
    if i==1: 
     print('yes') 
     break 
    print('no') 

ときに私を== 1はfuncのために打ち切ります、おそらくこれはよく理解されています

関連する問題