01 / 07
途中でやめたい
点数を上から順に見ていって、合格者が1人見つかったらそこで終わりにしたい。残りを見る意味はもう無いよね。
くり返しを途中で打ち切る言葉が break(ブレイク)。「中断する」という意味だよ。
くり返しとデータの持ち方
INPUT · スライド
01 / 07
点数を上から順に見ていって、合格者が1人見つかったらそこで終わりにしたい。残りを見る意味はもう無いよね。
くり返しを途中で打ち切る言葉が break(ブレイク)。「中断する」という意味だよ。
02 / 07
break はそれ1語だけで1行になる。実行されたらその場でくり返しから抜けて、下げていない行へ進むよ。
下の例では i が 3 になったところで抜けるので、3 は表示されない。range(10) と書いてあるのに3回しかまわっていないね。
for i in range(10): if i == 3: break print(i)print("おわり")実行結果
0 1 2 おわり
03 / 07
break がいちばん活きるのは探しものだよ。目当てのものが見つかったら、その先を見る必要は無いからね。
下の例では "みかん" が見つかった時点で打ち切っている。"ぶどう" は見に行かれもしないよ。
for kudamono in ["りんご", "みかん", "ぶどう"]: print(kudamono) if kudamono == "みかん": break実行結果
りんご みかん
04 / 07
もう1つの言葉が continue(コンティニュー)。こちらはくり返しをやめない。
その回の残りだけを飛ばして、次の回へ進むんだ。下の例では 2 のときだけ print が飛ばされていて、3 と 4 はちゃんと出ているね。
for i in range(5): if i == 2: continue print(i)実行結果
0 1 3 4
05 / 07
似ているようで、やることはまるで別だよ。
break … くり返しそのものをやめる。二度と戻らないcontinue … その回を打ち切るだけ。次の回は動く「もう用はない」なら break、「今回はパス」なら continue。迷ったら、そのあとの回に用があるかどうかで決めよう。
06 / 07
break は while でも使える。条件では書きにくい終わりかたを、中から指示できるんだ。
ただし注意。break に頼りすぎると、どこで終わるのかが読みにくくなる。条件で素直に書けるなら、そちらを選ぼう。
kazu = 0while kazu < 100: print(kazu) if kazu == 2: break kazu += 1実行結果
0 1 2
07 / 07
continue には、もう1つうれしい効果があるよ。
「この条件のときは何もしない」を if で囲むと、そのあとの処理がまるごと1段深くなる。でも continue で先に弾いてしまえば、残りの処理は浅いままでいられるんだ。
便利だけれど、どちらも多用すると流れが追いにくくなる。1つのくり返しに1つまでを目安にするといいよ。