6章whileとforによるループ

何から何までなんやかや

我らの知られぬ苦しみ、なんやかや……

──ロバート・バーンズ,

何から何までなんやかや(For a' That and a' That)

 ifelifelseによる条件分岐は、上から下に進む。しかし、同じことを2回以上行わなければならないことがときどきある。そのようなときに必要なのはループだ。Pythonにはwhileforの2種類のループがある。

6.1 whileによる反復処理

 Pythonでもっとも単純なループのメカニズムはwhileである。対話型インタプリタを使って次の例を試してみよう。これは1から5までの数値を表示する単純なループだ。

>>> count = 1
>>> while count <= 5:
...     print(count)
...     count += 1
...
1
2
3
4
5

 まず、count1を代入する。そして、whileループは、count5を比較して、count5以下ならループを続ける。ループ内では、countの値を表示してから、count += 1文でcountを1ずつインクリメントする。Pythonは、ループの先頭に戻って再びcount5を比較する。countの値は2になっているが、5以下なので、再びwhileループが実行され、countはインクリメントされて3になる。

 countがループの最後の行で5から6にインクリメントされるまで、これが続く。count6になってから最初の行に戻ると、count <= 5が今度はFalseになり、whileループは終了する。Pythonは、その次の行に移動する。

6.1.1 breakによるループの中断 ...

Get 入門 Python 3 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.