この記事は、Python入門②(条件分岐編)からの続きです。
#繰り返し処理
Pythonの繰り返し処理
Pythonの繰り返し処理は、whileと、forの2種類があります。
それぞれに長所・短所があります。
for文は配列データと密接なかかわりがあるため、配列の部分で説明します。
ここでは、while飲み説明しることにします。
whileによる繰り返し
では、早速while文に関して説明していきましょう。一般的な出単純なケースと、途中で流れが変わるケースを見てみましょう。
###①単純なケース
まずは、whileによる繰り返しから見てみましょう。
while i < 10:
print(i)
i += 1
print "End"
これを実行すると以下のようになります。
0
1
2
3
4
5
6
7
8
9
End
while文では、条件式が成り立つ限り、処理が繰り返されます。繰り返し処理は、インデントされている部分です。
したがって、変数iの値を表示し、その値に1を足すことを、iが10未満の間繰り返します。
###②breakによって抜けるケース
i = 0
while True:
print(i)
i += 1
if i == 5 :
break
print "End"
実行結果は次のようになります。
0
1
2
3
4
End
whileの次に、Trueを持ってくると、終わらないループができます。これを無限ループと言います。
breakは、ループから抜ける処理です。無限ループでも、breakがあれれば抜け出すことができます。
この例では、iの値が5になったらループから抜け出しています。
while ~ else
whileは、条件式が真(True)の間、繰り返しを処理します。これに、elseをつけると、偽(False)の時の処理を書くことができます。
n = 0
while n < 3:
print "n = " + str(n)
n += 1
else:
print "last : n = " + str(n)
print "End"
実行結果は以下の通りです。
n = 0
n = 1
n = 2
last : n = 3
End
ループはn<3の間、つまり「n<3」という命題がTrueの間は繰り返されます。
しかし、n = 3となると、Falseとなるので、elseの部分が実行され、ループが終了します。