開始値、終了値、間隔値を数字で決めて処理を繰り返す
概要
for 変数 in range(数字の開始値,数字の終了値,数字の増える間隔):
繰り返し処理(変数の中に数値が入っている)
で、数字の値が終了値になる寸前まで繰り返す
文章で書くと意味がわかりにくいので以下参照
例
for i in range(2,16,3):
print(i)
iに最初2を入れて、iを3ずつ増やし、16になるまで以下の処理を繰り返せ
iを出力せよ
説明
forのすぐ後にくるiには最初2が入っており
まずprint(2)を出す
次にiは3増え、また同じことをやる
print(5)を出す
次にiは3増え…を繰り返し
iが15になるまで繰り返す(終了値は16と書いてあるが16は含めない、その直前で終わる)
間違えやすい問題
別の言語でのクセで
正 for i in range(2,16,3):
誤 for i in range(2:16:3):
とrangeの中身をセミコロンで区切る間違いがよくある。
概要
rangeの中の値を省略した場合だが
開始値を省略すると開始値は0
間隔値を省略すると間隔値は0
となる
for i in range(10)
のように、1つの値しか書かないと
開始値が0となる。上の場合は0から9までの値を間隔1で出す。
for i in range(2,10)
のように、2つの値しか書かないと
開始値2から終了値9まで間隔1で出す
例
for i in range(10):
print(i)
print()
for i in range(2,10):
print(i)
出力
0
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
説明
開始値や終了値はマイナスでも可能だが
range(-10,-20)
のように間隔を書かずに開始値が終了値より大きいと
何も出ない。
間隔値をマイナスにすることもできる。そうすると値は減り続ける
間違えやすい問題