Python のループ処理(for と while の基本)
Python のループ処理には for を使います。
a = [3, 6, 9, 12, 15]
for x in a:
print(x)
出力
3
6
9
12
15for x in a: は a から値を順にとりだすという意味です。
Python の for ループを break で抜ける
Python の for ループを抜けるには break を使います。
for x in range(7):
if 2 < x:
break
print(x)
出力
0
1
2for ループは 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
11range の 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 の処理(ここでは「処理が終わりました」というメッセージを表示する)が行われます。
Python の for と while の基本的な使い方。Python では break や else を使ってループ処理を柔軟に行えます。