pythonで繰り返し処理をさせる方法はいくつかありますが、ここではforとwhileを用いた方法を説明します。
forを使った繰り返し
for文は次のように用います。
1 2 |
for i in range(10): print(i) |
結果はこのようになります。
1 2 3 4 5 6 7 8 9 10 |
0 1 2 3 4 5 6 7 8 9 |
この例では 0から9までの整数を発生させてそれを逐次表示させています。range(10)により(0,1,2,3,4,5,6,7,8,9)というリストを作成しそれを順次変数iに入力します。それをprint文で表示しています。
whileを使った繰り返し
while文は次のように使います。
1 2 3 4 |
num = 0 while num < 5: print(num) num = num + 1 |
結果はこのようになります。
1 2 3 4 5 |
0 1 2 3 4 |
この例では 変数numを0で初期化し、そののち1回ずつprint文でnumの内容を表示そのあとnumに1を加えます。numが5未満の場合は処理を繰り返します。numが5未満で無くなったときにwhileループを抜けます。
したがって、 num < 5 という条件が満たされている限りwhile文が実行されることになります。よくあるバグとしては、この条件式が間違っており、whileループが無限に続く場合と、同じく条件式が間違っていて一度もwhileループが実行されない場合などがあります。
rangeの使い方
for分で使ってきたrangeですが、様々な使い方があります。
次の例では、1から10まで1ずつカウントアップした数を生成します。開始の1は含まれますが、終端の10は含まれません。
1 2 |
for i in range(1,10,1): print(i) |
結果
1 2 3 4 5 6 7 8 9 |
1 2 3 4 5 6 7 8 9 |
この応用としてステップ数をマイナスにすることもできます。次の例では10から-10まで2ずつ減らした整数を生成します。
1 2 |
for i in range(10,-10,-2): print(i) |
結果
1 2 3 4 5 6 7 8 9 10 |
10 8 6 4 2 0 -2 -4 -6 -8 |
あらかじめ回数が決まっている場合はfor文を、条件が満たされるまで繰り返す必要がある場合はwhile文を用いてコードを書くことになると思います。
最後までお読みいただきありがとうございました。