三浦ノート

自分の経験したことを検索可能にしていくブログ.誰かの役に立ってくれれば嬉しいです.

python3 のループ文のelse節についてのチュートリアル

python3.6のチュートリアルでループ制御でのelse節について知ったのでメモです.

docs.python.jp

ループのelse節の動作についてはチュートリアルに書いてある通りでたぶん理解できたと思います.

チュートリアルにあったサンプルプログラムについて考えてみます.

>>> for n in range(2, 10):  #ループ1
...     for x in range(2, n):  #ループ2
...         if n % x == 0:
...             print(n, ‘equals’, x, ‘*’, n//x) #処理1
...             break
...     else:
...         # loop fell through without finding a factor
...         print(n, ‘is a prime number’) #処理2

このプログラムのフローチャートは次のように書くことができると思います. f:id:OviskoutaR:20190223141207p:plain:h500

ループ2のなかでbreakが実行されると,ループ2を抜けると同時にelse節に記述されている処理2もスキップされます.

breakが一度も実行されずにループ2が終わればそのまま処理2を実行します.