「for構文」を使って命令を繰り返し実行するやり方をマスターするよ!

「for構文」を使って命令を繰り返し実行するやり方をマスターするよ!

「for構文」を使えば繰り返し処理がラクチン!

プログラムを書くときは「同じような命令をなんども繰り返したい」って場面がよく出てくるんだ。今回はそれを楽に書く方法をマスターするよ。

たとえば「1から5までを順番に表示したい」とする。いままでの書き方だったらこんな感じだ。

# codeing=utf-8

print(1)
print(2)
print(3)
print(4)
print(5)

▽ 実行結果

1
2
3
4
5

ちゃんと狙ったとおりの動きができてるね!でも正直print()を5回も書くのはめんどくさい。。。そんなとき楽に書ける方法があるから覚えていこう!

「for構文」の使い方

こういう繰り返し処理を楽にする方法が「for構文」だ。これを使えば「同じような命令を指定した回数だけ繰り返す」ってことが出来るよ。ちなみに繰り返しのことを「ループ処理」という言うから覚えておこう。書き方はこんな感じだ。

# codeing=utf-8

for a in [1,2,3,4,5]:
    print(a)

▽ 実行結果

1
2
3
4
5

実行結果はさっきと同じになったね。それじゃあ書き方を解説していくよ。

「for構文」の解説

for構文は下のような形で書く決まりになってるんだ。

for ①変数 in[②シーケンス]:
    ③命令

①変数

①に入れるのは変数だ。さっきは「a」だったけど、好きな名前をつけてもちゃんと動く。これは前にやった変数のルールだね。でもfor構文では「i」を使う人が多いんだ。これはただの習慣だから「i」じゃなくてもいいんだけど、ここでは「i」を使うよ。みんな同じ方がみやすいからねw

# codeing=utf-8

for i in [1,2,3,4,5]:
    print(i)

②シーケンス

②に入れるのは命令を実行するときに変数に入れたい値だ。これを「シーケンス」っていうよ。今回は「1から5まで表示する」ってのがしたかったから「1,2,3,4,5」って入れたんだね。

値と値は「,」で区切る。そして行の最後に「:」を書くのが決まりなんだ。[]の中身は左から順番に値を変数に入れて実行→次の値を変数に入れて実行って感じで最後まで繰り返される。

それを確かめるために、順番を入れ替えて「5,4,3,2,1」って入れて実行してみようか。

# codeing=utf-8

for i in [5,4,3,2,1]:
    print(i)

▽ 実行結果

5
4
3
2
1

実行結果も逆になった![5,4,3,2,1]の中身を左から順番に処理しているってことだね。

③命令

③に入れたいのは繰り返したい命令だ。今回は「数字を表示しろ」がしたかったからprint()を使った。ポイントは行の最初のスペース4個分開けてること。この空白が「この行は命令を繰り返す」っていう目印になってるんだ。ふつうに半角スペースを4回打ってもいいし、キーボードの「Tab」キーだと一発でできるよ。これを「インデント」って言うから覚えておこう。

インデントの役割を確認するために下みたいに書いてみよう。

# codeing=utf-8

for i in ["リンゴ","オレンジ","バナナ"]:
    print(i)
print("が好き。")

4行目のprint()はインデントしてるけど、5行目はしてないよね。これで実行するとこうなる。

▽ 実行結果

リンゴ
オレンジ
バナナ
が好き。

print(i)はインデントしてるから[“リンゴ”,”オレンジ”,”バナナ”]の値をそれぞれ入れて繰り返されてる。でも5行目のprint(“が好き。”)は繰り返さないで1回しか処理してないんだ。

じゃあ次は両方インデントしてこんなふうに書いて実行してみよう。

# codeing=utf-8

for i in ["リンゴ","オレンジ","バナナ"]:
    print(i)
    print("が好き。")

▽ 実行結果

リンゴ
が好き。
オレンジ
が好き。
バナナ
が好き。

5行目のprint(“が好き。”)も繰り返されたね。こんな風にインデントするかどうかで結果が変わっちゃうから使い方をしっかり覚えておこう!

今日のまとめ

  • 命令を繰り返すときは「for構文」が便利!
  • 「for構文」の意味と書き方を覚えよう!