この章では、繰り返し処理を行うためのfor文とwhile文について解説します。
for文は、指定された回数だけ処理を繰り返した後、処理を終了します。(回数指定で繰り返す)
While文は、条件を満たすならば処理を繰り返し、条件を満たさないなら処理を終了します。(条件成立で繰り返す)
for文
<for文の表記方法>
繰り返しブロック
後続処理
※繰り返し回数指定には直接数字で指定することはできない。
※繰り返し回数指定はrange関数またはリストを用いて指定する。
range関数による指定
<range関数>
range(n)
※0以上n未満の整数列を作る
<プログラム例>
# range関数で繰り返し回数を指定 for count in range(3): print('ひつじが'+str(count)+'匹') print('おやすみ') print(list(range(3)))
<実行結果>
ひつじが0匹
ひつじが1匹
ひつじが2匹
おやすみ
[0, 1, 2]
※2行目では「range(3)」で 0,1,2 の3つの整数が作成され、変数countにその整数が1つずつ格納されて繰り返しブロックの処理が行われる。(整数が3つ作成されるので、3回の繰り返しとなる)
※5行目はrange(3)の中身を理解するため、range(3)をリストに変換しprint関数で表示させています。結果、range(3)の中身は 0, 1, 2 の3つの整数であることが分かります。
リストによる指定
<プログラム例>
# for文: リストで繰り返し回数を指定 data = [1,2,3] for count in data: print('ひつじが'+str(count)+'匹') print('おやすみ')
<実行結果>
ひつじが1匹
ひつじが2匹
ひつじが3匹
おやすみ
※3行目ではリストdataから1つずつ要素を取り出して変数countに格納し、繰り返しブロックの処理が行われる。(リストの要素が3つあるため、3回の繰り返しとなる)
while文
<while文の表記方法>
繰り返しブロック
後続処理
<プログラム例>
# while文: 条件式の成否で繰り返すかどうかを判定 status = '眠くない' count = 1 while status == '眠くない': print('ひつじが'+str(count)+'匹') count += 1 x = input('眠いですか=') if x == '眠い': status = x print('おやすみ')
<実行結果>
ひつじが1匹
眠いですか=眠くない
ひつじが2匹
眠いですか=眠い
おやすみ
※変数statusの初期値は「眠くない」に設定されているため、4行目のwhile文の条件が成立し、1回目の繰り返し処理が実行される。
※そして1回目の繰り返し処理の中で、7行目の質問に「眠くない」と回答したため、変数statusの値は「眠たくない」のまま。(8行目のif文で条件成立せず、statusは変更されない)
※その結果、2回目のwhile文の条件が成立し、2回目の繰り返し処理が実行される。
※2回目の繰り返し処理の中で、今度は「眠い」と回答したため、変数statusの値は「眠い」に変更される。
※その結果、3回目のwhile文の条件が成立しなくなり、while文の処理が終了する。
このように、While文は条件式を満たすかどうかによって繰り返し回数が変わる処理となります。
while文で回数を指定する方法
<プログラム例>
# while文で回数を指定する方法 count = 0 while count < 3: print('ひつじが'+str(count)+'匹') count += 1 print('おやすみ')
<実行結果>
ひつじが0匹
ひつじが1匹
ひつじが2匹
おやすみ
※変数countを、2行目(初期値設定)、3行目(繰り返し回数と比較)、5行目(カウントアップ)することで、for文と同様に、繰り返し回数を指定して処理を行うことができます。
注意)while文の場合、5行目のカウントアップの記述を忘れると永遠にwhile文の条件が成立し、無限ループになってプログラムが終了できなくなります。
次のページへ
Pythonトップへ戻る