繰り返しと分岐のパターンを増やす

前回はfor文の相棒、range()関数をやりました。

 

 

今日は繰り返しや条件分岐の柔軟性を上げることができる、break文、continue文とelse節についてです。

 

break文は繰り返し文の中に書くと、その繰り返しを中断します。つまり、その繰り返しをやめて次の処理に移行するときに使います。

一方、continue文はループの次の繰り返し処理にジャンプします。繰り返し処理をやめるわけではありません。

 

上記のような意味合いから、break文とcontinue文はほとんどのケースでif文とともに使われます。

つまり、ある条件でループをやめたり、以降の処理を飛ばして次の繰り返しに移行したいときに使用されます。

 

公式の例でもそのような処理が書かれていますね。

>>> for n in range(2, 10):
...     for x in range(2, n):
...         if n % x == 0:
...             print(n, 'equals', x, '*', n//x)
...             break
...     else:
...         # loop fell through without finding a factor
...         print(n, 'is a prime number')
...

次にelse節です。これまでif文を使ったコードを書いたことがある方は、上のコードを見て間違ってるんじゃない?と思ったかもしれません。

ポイントは、else節のインデントの位置がif分より前にあることですよね。でも、これは間違いではありません。実はelse節はfor文でも使うことができるんです。for文でelse節を使うとbreakされなかったときに実行する部分を明確に記述することができます。

 

次回はpass文をサクッと。