1. はじめに|繰り返し処理ってなに?なぜ大事なの?
Pythonを勉強していると、こんなことを思ったことはありませんか?
「同じようなコードを何回も書くのって、なんかめんどうくさいな…」
たとえば、1から10までの数字を1行ずつ表示したいとき、もし全部手で書くとこうなります。
print(1)
print(2)
print(3)
# (以下略)
print(10)
……正直、手間がかかりますよね。それに、もし100回とか1000回繰り返したいときはどうすればいいでしょう?手作業では限界があります。
そこで登場するのが「繰り返し処理」です!
🔁 繰り返し処理とは?
かんたんに言うと、同じような処理を何回もくり返すための仕組みです。
Pythonでは、繰り返し処理を行うために主に2つの文(命令)を使います。
for文:回数が決まっているときに便利!while文:条件が満たされるあいだ繰り返す!
どちらも、プログラムを効率的に書くために超重要なテクニックです。
💡 なぜ大事なの?
繰り返し処理を使うと…
- 無駄なコードを何行も書かなくてよくなる
- コードがスッキリして見やすくなる
- エラーを減らせる(コピペミスも減る!)
たとえば、ゲームで「敵が10体出てくる」とか、「毎秒スコアを表示する」といった場面では、繰り返し処理が欠かせません。
🎯 このページで学べること
この記事では、Pythonのfor文とwhile文の使い方を、図やサンプルコードを交えながらわかりやすく解説します。
- それぞれの文の書き方と特徴
- どんなときに使い分けるのがよいか
- 実際に役立つサンプルコード
プログラミング初心者やPythonを始めたばかりの中学生・高校生でも、「あっ、なるほど!」と思えるようにやさしく説明していくので、ぜひ最後まで読んでみてくださいね!
2. for文の基本構文と使い方
Pythonで「何回も同じことを繰り返したい!」ってときに大活躍するのが、for文です。
とくに、「何回繰り返すかが決まっているとき」は、for文がとっても便利なんです!
🔤 for文ってどんな書き方?
基本の書き方はこちらです:
for 変数 in イテラブル:
繰り返したい処理
ちょっとむずかしく見えるかもしれませんが、かんたんに言うと、
「リストとか数の並びから1個ずつ取り出して、それで処理をくり返すよ!」
という感じです。
🔢 たとえば range() を使ってみよう!
Pythonには便利な range() という関数があります。
for i in range(5):
print(i)
このコードを実行すると…
0
1
2
3
4
と表示されます。
「えっ、5までって書いたのに4までしか出ないの?」と思うかもしれませんが、range(n) は「0からn未満(つまりn−1まで)」の数を出してくれる仕組みなんです。
🎒 変数の名前は自由に決められる!
さっきの例では i という名前の変数を使っていましたが、実はこれ、自由に好きな名前にできます!
for number in range(3):
print("番号は", number)
出力結果:
番号は 0
番号は 1
番号は 2
変数名は、その中身が何か分かるようにつけると、あとで見返したときにも分かりやすくなりますよ。
📋 リストを使った for文
for文は、数の並びだけじゃなくて、**リスト(複数のデータの集まり)**にも使えます。
fruits = ["りんご", "バナナ", "みかん"]
for fruit in fruits:
print(fruit + "が好き!")
実行結果:
りんごが好き!
バナナが好き!
みかんが好き!
このように、リストの中の要素を1つずつ取り出して、同じ処理を繰り返せるんです。
💡 まとめ:for文はこんなときに使おう!
- 回数がはっきりしているとき(例:10回ループ)
- リストやデータの集まりを順に取り出して処理したいとき
- 何かを「順番に処理」したいとき

次は、「while文の基本構文と使い方」について、見ていきましょう!
こちらは「回数が決まってないとき」に便利ですよ。
3. while文の基本構文と使い方
さきほど紹介した for 文は「決まった回数くり返したいとき」に便利でしたね。
でも、**「何回くり返すか分からない」**ようなときには、while 文が出番です!
🧠 while文ってどう書くの?
while 文の基本の書き方はこちらです:
while 条件:
繰り返したい処理
これは、「条件がTrue(正しい)」のあいだ、ずーっと同じ処理を繰り返すよ、という意味です。
🎮 実際に使ってみよう!
次のコードは、1から5までの数字を表示する例です。
count = 1
while count <= 5:
print("カウント:", count)
count += 1 # countに1を足す
実行するとこうなります:
カウント: 1
カウント: 2
カウント: 3
カウント: 4
カウント: 5
ここでのポイントは、「条件が満たされなくなるまで処理をくり返す」ということ。
⚠️ 無限ループに注意!
次のコードを見てみましょう。
while True:
print("ずっと続きます…")
これは**ずっとTrue(真)**なので、止まりません。これを「無限ループ」と呼びます。
実際のプログラムでは、こういった無限ループを使うこともありますが、初心者のうちはうっかり止まらないコードを書いてしまうこともあるので注意!
🙋♀️ じゃあどうやって止めるの?
繰り返しを止めるには、条件が変わるようにしておく必要があります。
さっきのカウントの例では、count += 1 でカウントを増やしていくことで、いずれ count <= 5 がFalseになり、ループが終わるようになっています。
🛑 break文で強制終了もできる!
次のように break を使えば、条件に関係なく途中で繰り返しをやめることもできます。
while True:
word = input("やめたいときは 'stop' と入力してね: ")
if word == "stop":
break
print("あなたの入力:", word)
実行中に stop と入力すれば、ループを終了します。
💡 まとめ:while文はこんなときに使おう!
- 「終わりの条件」がわからないとき(ユーザーの入力待ちなど)
- 何かの状態をチェックして処理を続けたいとき
- 条件に応じて柔軟にループを使いたいとき

次は、for 文と while 文の使い分けのポイントをわかりやすく解説していきます!
4. for文とwhile文の使い分けのポイント
ここまで、for 文と while 文、それぞれの使い方を学んできました。
でも…
「どっちを使えばいいのか分からない!」
という声もよくあります。
ここでは、どんなときに for を使うか、while を使うかを、わかりやすくまとめていきます!
✅ 基本の考え方はこれ!
| シチュエーション | 使う文 |
|---|---|
| 回数が決まっている | for文 |
| 終わる条件があるけど、回数は未定 | while文 |
🎯 使い分けのイメージ
🌀 for文が得意なケース
- 1から10まで数字を出したいとき
- リストや配列を順番に処理したいとき
- 決まった回数だけ何かをくり返したいとき
for i in range(5):
print("こんにちは!")
この場合、「5回だけ繰り返したい」と分かってるから for がぴったり!
🔁 while文が得意なケース
- ユーザーが「やめる」と言うまで繰り返したい
- 特定の条件が満たされるまで続けたい
- 何かの状態を監視しながら処理したいとき
password = ""
while password != "open":
password = input("パスワードを入力してください: ")
print("ドアが開きました!")
ここでは「正しいパスワードを入れるまで続けたい」ので、while がぴったりですね。
🤔 どっちでも書ける場合は?
実は、「for でも while でも書ける」ような処理もあります。
そんなときは、コードが読みやすい方を選びましょう!
たとえば、数字を1から10まで表示するなら、for を使ったほうがシンプルに書けます。
🧪 ちょっとした練習問題!
Q. ユーザーが「終了」と入力するまで名前を聞き続けるには、どっちを使う? <details> <summary>▶︎ 答えを見る</summary>
A. while文!
なぜなら、終了のタイミング(条件)が決まっているけど、何回繰り返すかは決まっていないからです。 </details>
📝 まとめ:まずはルール、慣れてきたら応用!
- 「回数がわかっている」なら
for - 「条件によって続けたい」なら
while - どちらも使えるようになれば、プログラムの幅がぐーんと広がります!

次は、「よくある間違いとその対処法」について紹介していきます!
初心者がつまずきやすいポイントをチェックしておきましょう!
5. よくある間違いとその対処法
Pythonの for 文や while 文を使っていると、はじめのうちは**ちょっとしたミスでうまく動かない!**なんてこともよくあります。
ここでは、初心者がつまずきやすいポイントをピックアップして、原因と対処法をセットで解説していきます!
❌ よくあるミス①:インデントのずれ
Pythonでは、「インデント(字下げ)」がとっても大事!
for i in range(3):
print(i)
これ、エラーになります!
なぜかというと、print(i) にインデントがないからです。
✅ 正しくはこう!
for i in range(3):
print(i)
🔍 ポイント:
forやwhileの次の行は、必ずスペースかTabで字下げしよう!
❌ よくあるミス②:無限ループになる(while文)
こんなコード、書いたことありませんか?
count = 1
while count <= 5:
print(count)
# countを増やしてない!
このままだと count がずっと「1」のままなので、条件がずっとTrueになって無限ループします。
✅ 対処法:
count = 1
while count <= 5:
print(count)
count += 1 # これでcountが増えて、ループが終わる!
🔍 ポイント:
while文では、条件がFalseになるように変化させる処理を忘れずに!
❌ よくあるミス③:rangeの使い方を間違える
たとえばこんなコード:
for i in range(1, 5):
print(i)
結果は…
1
2
3
4
「あれ?5も出てくると思ったのに!」
そう、Pythonの range() は「最後の数字は含まない」のがルールなんです。
✅ もし1〜5を表示したいなら:
for i in range(1, 6):
print(i)
🔍 ポイント:
range(開始, 終了)の「終了」は含まれない!
❌ よくあるミス④:変数名の使い方に注意
for item in range(3):
print(i)
このコード、エラーは出ませんが、変数名が違うので思ったように動きません!
✅ item を使っているなら、item を print しないとね。
for item in range(3):
print(item)
🔍 ポイント:
for文で使った変数名と、実際に使う変数名を一致させよう!
✅ まとめ:エラーは成長のチャンス!
- インデントを忘れずに!
whileでは条件を変える処理を入れよう!rangeの使い方に注意しよう!(終了値は含まれない!)- 変数名のミスにも気をつけて!

エラーが出ても、原因がわかればレベルアップのチャンスです!
あきらめずに、ひとつずつ直していきましょう。
6. まとめ|使い分けを意識して書けるようになろう
ここまで、Pythonの**for文とwhile文**について学んできましたね。
- どちらも「繰り返し処理」をするための大切な文(命令)
- 使い方や目的にあわせて選ぶことで、プログラムをスッキリ&わかりやすくできます!
🧠 今日のふりかえり
| 内容 | ポイント |
|---|---|
🔁 for文 | 回数が決まっているときに使う(例:リストやrangeでの繰り返し) |
🔄 while文 | 条件が満たされるあいだ繰り返す(例:ユーザーの入力待ちなど) |
| ⛔ よくあるミス | インデント忘れ、無限ループ、rangeの使い方ミスなどに注意 |
💬 どっちを使うか迷ったら?
- まずは 「何回くり返すのか?」 を考えてみよう。
- 決まっていれば
for、決まっていなければwhileが基本の考え方です!

最初はうまく動かなくても大丈夫。for文とwhile文をいろいろ試して、自分の思ったとおりに動くようになったら、もう立派なPython使いです!
よくある質問(Q&A)
- Q
for文とwhile文、どっちを使えば正解なんですか? - A
「何回くり返すか」が決まっているなら
for文、
「いつ終わるかわからないけど条件がある」ならwhile文を使うのが基本です。
たとえば、「5回だけ表示したい」はfor、
「正しいパスワードを入れるまで待ちたい」はwhileが向いています。
- Q
range(3)と書くと、なぜ「0, 1, 2」になるの? - A
Pythonの
range(n)は、「0 から n−1 まで」の数を自動で作ってくれる関数です。
つまり、range(3)は「0、1、2」の3つの数を作ってくれる、ということですね。
- Q
while文が止まらなくなってしまいました… - A
それは「無限ループ」になっている可能性が高いです!
whileの中で、条件がいつかFalseになるように変数を変化させる処理(たとえばcount += 1など)を入れ忘れていないかチェックしてみましょう。








※当サイトはアフィリエイト広告を利用しています。リンクを経由して商品を購入された場合、当サイトに報酬が発生することがあります。
※本記事に記載しているAmazon商品情報(価格、在庫状況、割引、配送条件など)は、執筆時点のAmazon.co.jp上の情報に基づいています。
最新の価格・在庫・配送条件などの詳細は、Amazonの商品ページをご確認ください。