質問: 4): break else: continue break print("(i,j)=({},{})".format(i, j)) ``` <出力> (i,j)=(3,4)
回答: コードにコメントで説明を入れました。 for文のelse, break, continue をうまく組み合わせたプログラムですが、ちょっと技巧的すぎるため理解が難しいコードだという印象を受けました。 ``` for i in range(10): # 10回ループする。iには0から9が順番に代入される for j in range(10): # 10回ループする。jには0から9が順番に代入される if (i == 3 and j == 4): break # ifの条件が合えばbreakになり、内側のforループを抜ける else: # 内側のforのelse節は内側ループが全部まわり切ったら実行される、つまり前の行のbreakで抜けた場合ここは実行されない continue # 外側のforに対応するcontinue文、ここが実行されたら次の行のbreakには処理がいかず、外側のforの次のループにジャンプする break # 外側のforを抜ける print("(i,j)=({},{})".format(i, j)) ``` for, else, break, continue についての厳密な説明はこちらにあります。 実際の動きを Python Tutor に用意したので、ここで1ステップずつ見て行きながら、厳密な説明を合わせて読むと分かりやすいと思います。