
はじめてのPython | 第9回
1. はじめに
この回では、同じ処理を繰り返すための for 文を学びます。これまでのコードは、必要な処理を1行ずつ順番に書いてきました。
同じ処理を何回も実行したいときに、毎回同じコードを書くのは効率的ではありません。for 文を使うと、決まった回数だけ同じ処理を繰り返せます。
2. この回で学ぶこと
forの基本range()の使い方- 繰り返し回数の指定
- カウンタ変数の役割
- 合計を求める処理の基本
3. 概念の説明
for 文は、同じ処理を繰り返すための書き方です。
基本の形は次のようになります。
for 変数 in range(回数):
繰り返したい処理range(回数) は、指定した回数だけ繰り返すために使います。たとえば range(5) は、0 から 4 までの5個の値を順番に取り出します。
for i in range(5):
print(i)このコードでは、i に 0、1、2、3、4 が順番に入ります。このように、繰り返しのたびに変わる変数をカウンタ変数と呼びます。
また、for 文は合計を求める処理にもよく使います。最初に合計を入れる変数を 0 にしておき、繰り返しのたびに値を足していきます。
4. サンプルコード
次のコードを見てください。
total = 0
for i in range(1, 6):
total = total + i
print("現在の値:", i)
print("現在の合計:", total)
print("最終的な合計:", total)このコードでは、1 から 5 までの数を順番に足して合計を求めています。
5. 実行手順
まず、for_sample.py というファイルを作ります。
touch for_sample.pyfor_sample.py をエディターで開き、次のコードを書いて保存します。
total = 0
for i in range(1, 6):
total = total + i
print("現在の値:", i)
print("現在の合計:", total)
print("最終的な合計:", total)保存したら、ターミナルで次のコマンドを実行します。
python3 for_sample.py実行結果は次のようになります。
現在の値: 1
現在の合計: 1
現在の値: 2
現在の合計: 3
現在の値: 3
現在の合計: 6
現在の値: 4
現在の合計: 10
現在の値: 5
現在の合計: 15
最終的な合計: 156. コードの読み方
total = 0は、合計を入れるための変数を 0 で初期化しています。- 合計を求める処理では、最初の値を決めておく必要があります。
for i in range(1, 6):は、1 から 5 までの値を順番にiに入れながら繰り返します。range(1, 6)では、開始の値は含まれ、終了の値は含まれません。- そのため、
iには 1、2、3、4、5 が入ります。 total = total + iは、その時点のtotalにiを足して、結果をもう一度totalに代入しています。この1行で、合計が少しずつ増えていきます。print("現在の値:", i)は、その回で使っている数を表示しています。print("現在の合計:", total)は、その時点までの合計を表示しています。- 最後の
print("最終的な合計:", total)は、繰り返しがすべて終わったあとの結果を表示しています。
7. 初学者がつまずきやすい点
forの行の最後には:が必要- 繰り返す処理はインデントする
range(5)は 0 から 4 までで、5 は含まれない- カウンタ変数の名前は自由に決められる
- 合計を求めるときは、最初に変数を 0 にしておく
特に、range(1, 6) が 1 から 6 までだと考えると結果がずれます。終了側の 6 は含まれないことを確認してください。
8. よくあるエラー
1つ目は、: を忘れた場合です。
SyntaxError: expected ':'たとえば次のような書き方です。
for i in range(5)
print(i)2つ目は、インデントが正しくない場合です。
IndentationError: expected an indented blockたとえば次のような書き方です。
for i in range(5):
print(i)3つ目は、range のつづりを間違えた場合です。
NameError: name 'rnage' is not definedたとえば for i in rnage(5): のように書くと、Python はその名前を見つけられません。
9. 練習用コード
次のコードを practice_for.py として保存して実行してください。
total = 0
for number in range(1, 11):
total = total + number
print("1から10までの合計:", total)実行したあとで、なぜ結果がその数になるかを確認してください。
余裕があれば、range(1, 11) を range(1, 6) や range(1, 21) に変えて、合計がどう変わるか試してください。
10. この回で理解しておくこと
for文を使うと同じ処理を繰り返せるrange()を使うと繰り返し回数や数の範囲を指定できる- カウンタ変数には繰り返しごとの値が入る
- 合計は変数に少しずつ足して求められる
range()では終了側の値は含まれない
11. まとめ
今回は、for 文を使った繰り返し処理の基本を確認しました。
繰り返しが使えるようになると、同じ形の処理を短く正確に書けるようになります。
range() の動きと、変数に値を足し続ける書き方は今後も何度も使います。
12. 次回予告
次回は、while 文を使って、条件が成り立つ間だけ繰り返す方法を学びます。for 文との違いも確認します。










