Python のループ処理(for と while の基本)
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 の処理(ここでは「処理が終わりました」というメッセージを表示する)が行われます。