本文へスキップ

Python Typing Tutor

サンプルレッスン一覧

Chapter 2 / Control Flow

for文の基本

for 文と range を組み合わせた、もっとも単純な繰り返しを練習します。

このページは無料で閲覧できるサンプルです。実際に手を動かして写経し、進捗を保存して学習を進めるには、ログインしてから学習ページへお進みください。

このレッスンで学ぶこと

for 文は「同じ処理を何度も繰り返したい」ときに使う構文です。前のレッスンで覚えた range と組み合わせれば、「n 回繰り返す」がたった 2 行で書けます。

プログラムが「同じことを何度も書かずに済む」ようになるのは、この for 文を覚えてからです。コピー & ペーストで 10 行書いていたような処理が 3 行で済むようになり、修正も 1 か所で完結するようになります。

写経 1

写経 1

0、1、2 を 1 行ずつ順番に表示します。

お手本コード
for i in range(3):
    print(i)
期待される出力
0
1
2

写経 2

写経 2

start と stop を指定して、1、2、3 を 1 行ずつ表示します。

お手本コード
for i in range(1, 4):
    print(i)
期待される出力
1
2
3

発展問題 (概要のみ)

発展問題

for 文と range を使って、1、2、3 を 1 行ずつ順番に表示してみましょう。

発展問題の自動採点はログイン後の学習ページでのみ動作します。

for / in / : の組み合わせ

for 変数名 in 並び: という形で書きます。「並び」のところには range(...) のほかに、リストや文字列 (1 文字ずつ取り出される) も書けます。: のあとは半角スペース 4 つのインデントで内側の処理を書きます。if 文と同じく、ここでもインデントが「ループの中身ですよ」という文法上の合図になっています。

ループ変数の中身は 1 回ごとに変わる

for i in range(3): なら、ループの中の i は 1 回目に 0、2 回目に 1、3 回目に 2、と毎周自動で書き換わります。i という名前は慣習で、好きな名前を付けられます。意味のある名前 (count、num、value、name など) を付けると、コードがそのまま日本語のように読めて分かりやすくなります。

インデントを外すとループの外

for の中で動かしたい処理は、すべて同じ深さでインデントします。途中でインデントを外すと、その行はループの「外」とみなされ、ループが全部終わったあとに 1 回だけ動きます。意図せず外に出てしまうと結果が大きく変わってしまうので、写経のうちにインデントの位置を意識して目に焼き付けておきましょう。

手を動かして練習しましょう

ログインすると、お手本コードを 1 文字ずつ写経しながらブラウザ上で実行し、合否を確認しながら学習を進められます。進捗は自動で保存されます。