- はじめに
- 繰り返し処理とは
- なぜ繰り返し処理が必要なのか
- Pythonの繰り返し処理にはfor文とwhile文がある
- for文とは
- rangeとは
- 1から5まで表示する方法
- for文の処理の流れ
- 変数iには何が入っているのか
- 繰り返し処理で計算してみる
- リストとfor文
- 実際のシステムでもよく使われる
- while文とは
- while文の処理の流れ
- for文とwhile文の違い
- 無限ループに注意
- breakとは
- continueとは
- 条件分岐と繰り返し処理を組み合わせる
- 九九を表示してみる
- 繰り返し処理を入れ子にする
- 繰り返し処理はゲームでも使われる
- 繰り返し処理はデータ分析でも使われる
- よくある間違い1 インデント
- よくある間違い2 rangeの終了値
- よくある間違い3 無限ループ
- 繰り返し処理を理解するコツ
- 練習問題
- まとめ
はじめに
プログラミングを勉強すると、「条件分岐」と並んで必ず登場するのが「繰り返し処理」です。
「繰り返し処理って何?」
「for文とwhile文はどう違うの?」
「何のために使うの?」
このように感じる初心者も多いのではないでしょうか。
繰り返し処理とは、簡単にいうと、
同じ処理を何度も実行するための仕組み
です。
例えば、
「1から10までの数字を順番に表示する」
という処理を考えてみましょう。
同じような命令を10回書くこともできますが、繰り返し処理を使えば、短いプログラムで簡単に実行できます。
この記事では、プログラミング初心者や高校生向けに、繰り返し処理の基本をPythonのサンプルコードを使ってわかりやすく解説します。
繰り返し処理とは
繰り返し処理とは、同じ処理や似た処理を何度も実行する仕組みです。
英語では「loop」と呼ばれることもあります。
例えば、次のような処理を考えてみましょう。
こんにちは
こんにちは
こんにちは
こんにちは
こんにちは
これをプログラムで表示する場合、
print("こんにちは")
print("こんにちは")
print("こんにちは")
print("こんにちは")
print("こんにちは")
と書くこともできます。
しかし、同じ処理を何度も書くのは大変です。
そこで繰り返し処理を使います。
for i in range(5):
print("こんにちは")
これだけで、
こんにちは
こんにちは
こんにちは
こんにちは
こんにちは
と5回表示できます。
このように、同じ処理をまとめて実行できるのが繰り返し処理です。
なぜ繰り返し処理が必要なのか
プログラムでは、同じ処理を何度も実行する場面が非常に多くあります。
例えば、
- 1から100までの数字を表示する
- 生徒全員のテスト結果を確認する
- 商品一覧を画面に表示する
- データを1件ずつ処理する
- ゲームで敵を複数表示する
といった処理です。
もし繰り返し処理を使わなければ、100回処理するために同じコードを100回書かなければならない場合があります。
繰り返し処理を使えば、コードを短くできるだけでなく、修正や管理もしやすくなります。
Pythonの繰り返し処理にはfor文とwhile文がある
Pythonで繰り返し処理を行う場合、主に次の2つを使います。
- for文
- while文
どちらも処理を繰り返すために使いますが、使い方には違いがあります。
基本的には、
回数や対象が決まっている
→ for文
条件が成立している間、繰り返す
→ while文
と覚えると分かりやすいでしょう。
for文とは
for文は、決められた回数だけ処理したり、複数のデータを順番に処理したりするときによく使います。
基本的な書き方は次のとおりです。
for 変数 in データ:
繰り返す処理
例えば、
for i in range(5):
print(i)
を実行すると、
0
1
2
3
4
と表示されます。
rangeとは
先ほどのプログラムでは、
range(5)
という部分が出てきました。
rangeは、連続した数字を作るために使います。
range(5)
では、
0
1
2
3
4
という数字が使われます。
5までではなく、0から4までになる点に注意しましょう。
1から5まで表示する方法
1から5まで表示したい場合は、
for i in range(1, 6):
print(i)
と書きます。
実行結果は、
1
2
3
4
5
となります。
rangeの基本的な書き方は、
range(開始, 終了)
です。
ただし、終了の数字そのものは含まれません。
そのため、
range(1, 6)
では、1から5までとなります。
for文の処理の流れ
次のプログラムを考えてみましょう。
for i in range(3):
print("処理中")
処理の流れは、
1回目
↓
処理中
2回目
↓
処理中
3回目
↓
処理中
となります。
実行結果は、
処理中
処理中
処理中
です。
変数iには何が入っているのか
for文では、
for i in range(5):
の「i」に数字が順番に入ります。
例えば、
for i in range(5):
print(i)
では、
1回目 → i = 0
2回目 → i = 1
3回目 → i = 2
4回目 → i = 3
5回目 → i = 4
となります。
このように、繰り返すたびに変数の値が変化します。
繰り返し処理で計算してみる
for文は、計算にも利用できます。
例えば、1から5までの合計を求めてみましょう。
total = 0
for i in range(1, 6):
total = total + i
print(total)
実行結果は、
15
です。
計算は、
0 + 1
↓
1 + 2
↓
3 + 3
↓
6 + 4
↓
10 + 5
↓
15
という流れで進みます。
リストとfor文
for文は、複数のデータを順番に取り出すときにも便利です。
例えば、次のようなリストがあるとします。
fruits = ["りんご", "みかん", "バナナ"]
これをfor文で処理すると、
for fruit in fruits:
print(fruit)
実行結果は、
りんご
みかん
バナナ
となります。
このように、リストの中身を1件ずつ取り出して処理できます。
実際のシステムでもよく使われる
Webサイトや業務システムでも、繰り返し処理は頻繁に利用されます。
例えば、商品データが、
商品A
商品B
商品C
商品D
と登録されている場合、画面に商品一覧を表示する際には、商品を1件ずつ取り出して表示します。
考え方としては、
for 商品 in 商品一覧:
商品を表示する
という処理です。
実際のWeb開発では、この考え方を使って一覧画面などを作成します。
while文とは
while文も繰り返し処理の一つです。
whileは、
ある条件が成立している間、処理を繰り返す
場合に使います。
基本的な書き方は、
while 条件:
繰り返す処理
です。
例えば、
count = 1
while count <= 5:
print(count)
count = count + 1
を実行すると、
1
2
3
4
5
と表示されます。
while文の処理の流れ
先ほどのプログラムでは、最初に、
count = 1
としています。
次に、
while count <= 5:
で、
「countが5以下か」
を確認します。
countが5以下である間は、
print(count)
count = count + 1
を繰り返します。
処理の流れは、
count = 1
↓
5以下なので実行
↓
count = 2
↓
5以下なので実行
↓
count = 3
↓
5以下なので実行
↓
count = 4
↓
5以下なので実行
↓
count = 5
↓
5以下なので実行
↓
count = 6
↓
条件が成立しない
↓
終了
となります。
for文とwhile文の違い
for文とwhile文は、どちらも繰り返し処理に使います。
違いを簡単に整理すると、次のようになります。
| 種類 | 向いている処理 |
|---|---|
| for文 | 回数が決まっている処理 |
| for文 | 複数のデータを順番に処理 |
| while文 | 条件が成立している間繰り返す |
| while文 | 何回繰り返すか分からない処理 |
例えば、
10回繰り返す
ならfor文が向いています。
一方、
正しいパスワードが入力されるまで繰り返す
のような処理ならwhile文が向いています。
無限ループに注意
while文では、「無限ループ」に注意する必要があります。
例えば、
count = 1
while count <= 5:
print(count)
というプログラムには問題があります。
countの値がずっと1のままなので、
1
1
1
1
1
...
と処理が終わらなくなります。
これを防ぐには、
count = count + 1
を追加します。
count = 1
while count <= 5:
print(count)
count = count + 1
while文では、
条件がいつか成立しなくなるか
を確認することが重要です。
breakとは
繰り返し処理を途中で終了したい場合には「break」を使います。
例えば、
for i in range(10):
if i == 5:
break
print(i)
実行結果は、
0
1
2
3
4
です。
iが5になったとき、
break
が実行されるため、その時点で繰り返し処理が終了します。
continueとは
現在の繰り返しだけを飛ばして、次の処理へ進みたい場合には「continue」を使います。
例えば、
for i in range(5):
if i == 2:
continue
print(i)
実行結果は、
0
1
3
4
となります。
iが2の場合だけ、
print(i)
が実行されません。
条件分岐と繰り返し処理を組み合わせる
実際のプログラムでは、繰り返し処理だけを単独で使うのではなく、条件分岐と組み合わせることがよくあります。
例えば、
for i in range(1, 11):
if i % 2 == 0:
print(i)
このプログラムでは、1から10までの数字を順番に確認します。
そして、
i % 2 == 0
という条件で、2で割り切れるかを確認しています。
実行結果は、
2
4
6
8
10
となります。
つまり、偶数だけを表示しています。
このように、
繰り返し処理
+
条件分岐
を組み合わせることで、より複雑なプログラムを作れるようになります。
九九を表示してみる
繰り返し処理を使えば、九九も簡単に作れます。
まずは2の段を表示してみましょう。
for i in range(1, 10):
print(2 * i)
実行結果は、
2
4
6
8
10
12
14
16
18
となります。
さらに、
for i in range(1, 10):
print("2 ×", i, "=", 2 * i)
とすると、
2 × 1 = 2
2 × 2 = 4
2 × 3 = 6
2 × 4 = 8
...
のように表示できます。
繰り返し処理を入れ子にする
for文の中にfor文を書くこともできます。
これを「ネスト」や「入れ子」と呼びます。
例えば、
for i in range(1, 4):
for j in range(1, 4):
print(i, j)
実行すると、
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
となります。
外側のfor文が1回実行されるたびに、内側のfor文が3回実行されます。
繰り返し処理はゲームでも使われる
ゲームでも繰り返し処理は重要です。
例えば、
敵を5体表示する
という場合、
for i in range(5):
print("敵を表示")
のように考えられます。
ほかにも、
- アイテムを複数表示する
- 敵を順番に動かす
- キャラクターの状態を更新する
- 得点データを確認する
など、さまざまな場面で繰り返し処理が利用されます。
繰り返し処理はデータ分析でも使われる
情報Iではデータの活用も学びます。
複数のデータを処理するときにも繰り返し処理は重要です。
例えば、
scores = [70, 85, 60, 90, 75]
for score in scores:
print(score)
とすると、生徒の点数を順番に表示できます。
さらに、
total = 0
for score in scores:
total = total + score
print(total)
とすれば、合計点を求めることもできます。
よくある間違い1 インデント
Pythonではインデントが非常に重要です。
例えば、
for i in range(5):
print(i)
のように、繰り返す処理は字下げして書きます。
インデントを正しく書かないと、エラーになったり、意図しない処理になったりする場合があります。
よくある間違い2 rangeの終了値
初心者が間違えやすいのがrangeです。
例えば、
range(1, 10)
では、
1
2
3
4
5
6
7
8
9
までです。
10は含まれません。
1から10まで処理したい場合は、
range(1, 11)
と書きます。
よくある間違い3 無限ループ
while文では、条件がいつまでも成立すると処理が終了しません。
例えば、
number = 1
while number < 10:
print(number)
では、numberの値が変化しないため、無限ループになります。
必ず、
number = number + 1
などの処理を入れて、条件が変化するようにしましょう。
繰り返し処理を理解するコツ
繰り返し処理を理解するためには、コードを読むだけではなく、実際に数値を変更して動かしてみるのがおすすめです。
例えば、
for i in range(3):
print(i)
を、
for i in range(10):
print(i)
に変更してみます。
さらに、
for i in range(1, 6):
print(i)
や、
for i in range(1, 11, 2):
print(i)
など、少しずつ変更して実行結果を確認してみましょう。
自分で数字を変えて試すことで、繰り返し処理の仕組みが理解しやすくなります。
練習問題
最後に簡単な練習問題を考えてみましょう。
1から10までの数字を表示するプログラムを作ってください。
解答例
for i in range(1, 11):
print(i)
次に、1から10までの中から偶数だけを表示してみましょう。
解答例
for i in range(1, 11):
if i % 2 == 0:
print(i)
実行結果は、
2
4
6
8
10
となります。
条件分岐と繰り返し処理を組み合わせることで、プログラムでできることが一気に増えていきます。
まとめ
繰り返し処理とは、
同じ処理や似た処理を何度も実行する仕組み
です。
Pythonでは主に、
for
while
を使います。
for文は、
回数が決まっている処理
複数のデータを順番に処理
する場合に向いています。
while文は、
ある条件が成立している間、処理を続ける
場合に向いています。
さらに、
break
continue
などを使うことで、繰り返し処理を途中で終了したり、一部の処理を飛ばしたりすることもできます。
プログラミングでは、
条件分岐と繰り返し処理
は特に重要な基礎です。
この2つを組み合わせることで、ゲーム、Webサイト、データ処理など、より実用的なプログラムを作れるようになります。
次は、複数のデータをまとめて扱うための「配列・リスト」について学ぶと、プログラミングの理解をさらに深めることができます。

