【Python】continue文について

python_logo

今回はcontinue文についてまとめます。

これは他のプログラミング言語と同じ動きになりますので、経験者の方はスキップしても全然構いませんよ!

それではみてきます。

continue文とは

continue文は最も内側のループの先頭まで即座に戻ります。for文とwhile文で使用することができます。

ある意味でgoto文で似ている処理になります。goto文とはC言語などである処理に無条件でジャンプする処理です。continueはループの先頭まで処理をジャンプさせることができます。

従って、goto文が嫌われるように、コードの保守が難しい一面も備えています。なので、適切な使用が求められます。 

適切に使えれば、文のネストの回数を減らせることができます

ネストというのは、構造の中にさらに構造を入れることです。Pythonならfor,while,if文などを入れ子にすることです。これをし過ぎると読みにくくて嫌われます。

continue文の用法

それでは実際にcontinue文を使ってみましょう。

使い方は非常にカンタンです。以下のコードを見てください。


>>> for x in range(0,10):
...   if x % 2 == 0:
...     continue
...   print(x)
... 
1
3
5
7
9

このコードはxが奇数の時だけコンソールに出力するプログラムです。

偶数の場合は即座にループの先頭に戻り、次の数字を取得しています。

それでは次の場合はどうでしょうか。


>>> for y in range(1,10):
...   if y > 6:
...     continue
...   for x in range(1,10):
...     if x > 7:
...       continue
...     if x * y % 6 != 0:
...       continue
...     print(f'{y}:{x}')
... 
1:6
2:3
2:6
3:2
3:4
3:6
4:3
4:6
5:6
6:1
6:2
6:3
6:4
6:5
6:6
6:7

うまいコードが書けないのはご愛嬌ということで;)
とりあえず見てほしいのは、for文がネストされているときにどうなっているかです。

そうです。continue文は最もfor文が近い場所にジャンプしているのです。

最も内側のループにジャンプすることさえわかれば、continue文はほぼマスターしたことになります。

まとめ

いかがでしょうか。

やり方さえわかってしまえば、あとはどのように使うかのほうが難しいと思います。

私もまだまだ修行中なので頑張っていきましょう!

それでは今回は以上になります。

みなさんのPythonライフがより良くなるように祈っています!