Pythonのループ処理で使われるwhile文をもっと自由に使うためにbreak・else・continueというキーワードが用意されています。今回はこれらの使い方を解説していきます。
今回はfor文やif文で使われるpass・break・continueの使い方を解説していきます。 これらのキーワードはループの中断や継続など特別な挙動を与えるためのものです。知っているとコンパクトにコードを書くことができるので3つ[…]
breakでループを抜ける
break
:ループの強制終了- 条件式が真であってもwhile文を抜け出して次の処理に移る
1 2 3 4 5 6 7 8 9 10 11 |
num = 10 while num > 0: print(num) num -= 1 break print('end') #出力結果 10 end |
上の例では一回目のループで「break
」が実行されるのでそれ以降のループは実行されずに、次のprint関数の処理に移ります。
ただ、この例のようにwhile文でいきなりbreak
を使うと一回目のループで終了してしまいます
if文とセットで使うことでループを終了させるタイミングを設定できますね。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
num = 10 while num > 0: print(num) num -= 1 if num == 6: break print('end') #出力結果 10 9 8 7 end |
これはnum変数が6のとき「break」が実行されています。
以下のように「while True
」と「break
」を組み合わせて使うこともできます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
while True: print('パスワード?') num = input() if num == '15': break else: print('ちがう!') print('OK') #入出力結果 パスワード? 6 #入力値 ちがう! パスワード? 15 #入力値 OK |
標準入力で「15」が入力されたときに「break」が実行されています。
「while True
」を使うときはコードを間違えると無限ループになるので要注意です。
標準入力のinput関数に関しては以下の記事にまとめています。
こんにちは、今回はPythonの標準入力についてみていきたいと思います。 paizaで問題を解いてレベルアップをするには避けては通れない標準入力ですが、私は何も知らずに突っ込んでさっぱりわからず撃沈した記憶があります。(笑) […]
continueで次のループへ
continue
:次のループ処理に移る- while文から脱するわけではない
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
num = 0 while num < 3: num += 1 print('実行される', num) continue print('実行されない') print('end') #出力結果 実行される 1 実行される 2 実行される 3 end |
「continu」が実行されるとその下のprint関数は無視して次のループに入ります。このようにループ自体が終了するわけでないことがポイントです。
elseで最後だけ実行
else
:while文の条件文が偽になった後に実行される- 一回だけ実行される
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
num = 0 while num < 3: num += 1 print('Pyhon') else: print(num) print('end') #出力結果 Pyhon Pyhon Pyhon 3 end |
条件「num<3」が偽になった後で「else」が実行され、最後にnum変数の値を出力しています。このように最後に一回だけ実行されます。
ただし、while文中に「break」があるときは「else」は実行されません。先にbreakが実行されてループが終了するからです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
num = 0 while num < 3: num += 1 print('Pyhon') if num == 3: break else: print('実行されない') print('end') #出力結果 Pyhon Pyhon Pyhon end |
まとめ
- break:ループの強制終了
- continue:次のループを実行
- else:条件が偽のときに実行
- 先にbreakがあれば実行されない
- ループ処理とは?for文とwhile文の解説
- while文を使う方法【インクリメントと無限ループ対処法】
- for文の使い方解説(一行・range関数・リスト)
- for文を一行で書く方法と複数行との違い
- for文でrange関数とlen関数を使う方法
- for文でリストのインデックスと要素を取り出す(enumerate)
- for文で辞書のキー・バリューを取り出す方法(enumerate・items・keys・values)
- 条件分岐とは?if文・else・elifの書き方
- for文やif文でpass・break・continueを使う方法
- while文のbreak・else・continue使い方まとめ
プログラミング言語のなかでも人気の高いPythonを学習する教材を紹介します。 最近ではプログラミングスククールがたくさんあるので迷うと思います。 ですが、まずは無料教材から始めてみましょう。苦労した分だけ力がつきます。 […]