Pythonでのfor文の書き方はC言語やJavaなどと違って少し特殊です。
C言語やJavaなどのように「for( 初期値 ; ループする条件 ; 増減値 )」のような書き方はしません。
添え字の範囲を指定してループする場合はPythonでは「range関数」の戻り値を利用してループします。
pythonのfor文の書き方
pythonではfor文は以下のように記述します。
・・・なんか処理
上記のようにループする値が順に変数の中に設定されて行き、条件が終了するとfor文を抜けます。
pythonのfor文で配列で利用する
pythonで配列をfor文で表示するには以下のようにfor文にそのまま配列を指定します。
students = ['Taro','Jiro','Jyunko','Akemi'] for s in students: print( '生徒の名前は[' + s + ']です。' )
実行結果は
生徒の名前は[Taro]です。 生徒の名前は[Jiro]です。 生徒の名前は[Jyunko]です。 生徒の名前は[Akemi]です。
になります。
pythonのfor文でrange関数を利用する
pythonのfor文で利用するrange関数には以下の3つのパターンの使い方があります。
・・・なんか処理
for [変数] in range([開始番号,終了番号]):
・・・なんか処理
for [変数] in range([開始番号,終了番号,増減数]):
・・・なんか処理
range関数で回数のみ指定する
pythonのfor文で利用されるrange関数への引数が1つの場合は、添え字が到達する値を意味します。
以下の場合はrange関数が返す値は0から(0相対で)指定された回数分まで(今回の場合は「0,1,2,3」になる)ループすることになります。
students = ['Taro','Jiro','Jyunko','Akemi'] for s in range(4): print( '生徒の名前は[' + students[s] + ']です。' )
実行結果は
生徒の名前は[Taro]です。 生徒の名前は[Jiro]です。 生徒の名前は[Jyunko]です。 生徒の名前は[Akemi]です。
になります。
range関数で範囲指定する
pythonのfor文で利用されるrange関数への引数が2つの場合は、添え字が開始される値と到達する値を意味します。
以下の場合はrange関数が返す値は1から指定された値まで(今回の場合は「1,2」になる)ループすることになります。
students = ['Taro','Jiro','Jyunko','Akemi'] for s in range(1,3): print( '生徒の名前は[' + students[s] + ']です。' )
実行結果は
生徒の名前は[Jiro]です。 生徒の名前は[Jyunko]です。
になります。
range関数で増減分を指定する
pythonのfor文で利用されるrange関数への引数が3つの場合は、添え字が開始される値と到達する値、増減値を意味します。
以下の場合はrange関数が返す値は1から指定された値まで、2ずつ増えながら(今回の場合は「0,2,4,6」になる)ループすることになります。
students = ['Taro','Jiro','Jyunko','Akemi','Keiko','Hanako','Masahiro'] for s in range(0,7,2): print( '生徒の名前は[' + students[s] + ']です。' )
実行結果は
生徒の名前は[Taro]です。 生徒の名前は[Jyunko]です。 生徒の名前は[Keiko]です。 生徒の名前は[Masahiro]です。
になります。
まとめ
Pythonのfor文はC言語やJavaとちょっと違う部分があり、ループの添え字の範囲を「range関数」を使ったりするので戸惑うことあるかもしれませんが、慣れれば大きな問題にはなりません。
数多くのプログラムを書いて慣れていきましょう。
以上、Pythonのfor文の書き方-配列とrange関数の利用方法-でした。