Python のループ処理には for を使います。
a = [3, 6, 9, 12, 15] for x in a: print(x)
出力
3 6 9 12 15
for x in a:
は a
から値を順にとりだすという意味です。
Python の for ループを break で抜ける
Python の for ループを抜けるには break を使います。
for x in range(7): if 2 < x: break print(x)
出力
0 1 2
for ループは 0 から 6 まで処理し、x
は 0 から 1 ずつ増えます。ループする中で、x
が 2 より大きくなったらループが終わります。
for と else
a = ['りんご', 'みかん', 'いちご'] for x in a: print(x) else: print('処理は終わりました')
出力
りんご みかん いちご 処理は終わりました
for ループで print(x)
がすべて実行された後、print('処理は終わりました')
を処理しています。
for と range
for x in range(5): print('処理します')
出力
処理します 処理します 処理します 処理します 処理します
range はリストではありませんが、0 から 4 までの 5 つの要素をもつ並びです。for は range をリストのように扱い、ループの中で x
に range の要素を入れています。
range には範囲も指定できます。
for x in range(5, 12): print(x)
出力
5 6 7 8 9 10 11
range の 2 番目に指定した値が 12 なので、range(5, 12)
は 11 までです。
while
x = 0 while x < 5: x = x + 1 print(x)
出力
1 2 3 4 5
最初 x
に 0 を入れて、while ループで x
を 1 ずつ加算します。x
はループを重ねるごとに変化します。
ループの終わりは while の隣にある x<5
が偽になるまでです。ループ処理は条件が満たされるかぎり際限なく実行されます。
次のコードは危険です。
x = 0 while x < 5: print(x)
このコードは次のように無限に処理します。
0 0 0 0 0 0
実際は 0 がどこまでも続きます。このプログラムでは x<5
という条件がいつまでも真であることに原因があります。
whileとelse
x = 0 while x < 5: x = x + 1 print(x) else: print('処理が終わりました')
出力
1 2 3 4 5 処理が終わりました
ループが終わると else の処理(ここでは「処理が終わりました」というメッセージを表示する)が行われます。