開始値、終了値、間隔値を数字で決めて処理を繰り返す


概要



for 変数 in range(数字の開始値,数字の終了値,数字の増える間隔):
    繰り返し処理(変数の中に数値が入っている)

で、数字の値が終了値になる寸前まで繰り返す
文章で書くと意味がわかりにくいので以下参照


for i in range(2,16,3):
    print(i)

iに最初2を入れて、iを3ずつ増やし、16になるまで以下の処理を繰り返せ
    iを出力せよ

出力


2
5
8
11
14

説明


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)

のように間隔を書かずに開始値が終了値より大きいと
何も出ない。

間隔値をマイナスにすることもできる。そうすると値は減り続ける

間違えやすい問題