
はじめてのPython | 第10回
1. はじめに
この回では、条件が成り立つ間だけ処理を繰り返す while 文を学びます。前回の for 文は、決まった回数の繰り返しに向いていました。
一方で、終了する回数が最初から決まっていない処理もあります。そのような場合は、条件を見ながら繰り返す while 文が適しています。
2. この回で学ぶこと
whileの基本- 条件が成り立つ間だけ繰り返す方法
- 変数を更新しながら繰り返す考え方
- 無限ループに注意すること
breakの基本
3. 概念の説明
while 文は、指定した条件が True の間、同じ処理を繰り返します。
基本の形は次のようになります。
while 条件:
繰り返したい処理たとえば、次のコードは count が 5 未満の間だけ繰り返します。
count = 0
while count < 5:
print(count)
count = count + 1このコードでは、count に 0、1、2、3、4 が順番に入ります。count = count + 1 で値を更新しているため、いずれ count < 5 が False になって繰り返しが終わります。
もし値を更新しなければ、条件がずっと True のままになり、処理が終わらないことがあります。これを無限ループと呼びます。
また、break を使うと、条件がまだ True でも途中で繰り返しを終了できます。
4. サンプルコード
次のコードを見てください。
count = 1
while count <= 5:
print(count)
count = count + 1
print("繰り返しが終わりました")このコードでは、1 から 5 までを表示してから繰り返しを終了します。
5. 実行手順
まず、while_sample.py というファイルを作ります。
touch while_sample.pywhile_sample.py をエディターで開き、次のコードを書いて保存します。
count = 1
while count <= 5:
print(count)
count = count + 1
print("繰り返しが終わりました")保存したら、ターミナルで次のコマンドを実行します。
python3 while_sample.py実行結果は次のようになります。
1
2
3
4
5
繰り返しが終わりました6. コードの読み方
count = 1は、繰り返しで使う変数を 1 で初期化しています。while count <= 5:は、countが 5 以下の間だけ処理を続けるという意味です。- 最初の
countは 1 なので、条件はTrueです。 print(count)は、その時点のcountを表示しています。count = count + 1は、countを 1 増やしています。- この更新があるため、
countは 1、2、3、4、5 と変化します。 countが 6 になると、count <= 5はFalseになります。- その時点で
while文の繰り返しは終わり、最後のprint("繰り返しが終わりました")が実行されます。
7. 初学者がつまずきやすい点
whileの行の最後には:が必要- 繰り返す処理はインデントする
- 条件に使う変数を更新しないと終わらないことがある
whileは回数ではなく条件で繰り返すforとwhileは用途が少し違う
for は決まった回数の繰り返しに向いています。while は、条件が成り立つ間だけ続けたい処理に向いています。
8. よくあるエラー
1つ目は、: を忘れた場合です。
SyntaxError: expected ':'たとえば次のような書き方です。
while count < 5
print(count)2つ目は、インデントが正しくない場合です。
IndentationError: expected an indented blockたとえば次のような書き方です。
while count < 5:
print(count)3つ目は、条件に使う変数を更新せず、処理が終わらなくなる場合です。
count = 1
while count <= 5:
print(count)このコードは文法エラーにはなりませんが、count が変わらないため、条件がずっと True のままになります。実行が止まらないときは、Control + C で終了できます。
9. 練習用コード
次のコードを practice_while.py として保存して実行してください。
number = 10
while number > 0:
print(number)
number = number - 1
print("終了")実行したあとで、なぜ 10 から 1 まで表示されるのか確認してください。
余裕があれば、number = 5 に変えたり、break を使って 3 で止めたりして動きを確認してください。
10. この回で理解しておくこと
while文は条件がTrueの間だけ処理を繰り返す- 条件に使う変数は繰り返しの中で更新することが多い
- 更新しないと無限ループになることがある
breakを使うと途中で繰り返しを終了できるforは回数が決まっているとき、whileは条件で続けるときに向いている
11. まとめ
今回は、while 文を使った条件つきの繰り返しを確認しました。
while 文は、入力待ちや条件に応じた繰り返しなど、回数が最初から決まっていない処理でよく使います。
for 文との違いと、無限ループを避けるための更新処理を合わせて理解しておくことが重要です。
12. 次回予告
次回は、リストを使って複数の値をまとめて扱う方法を学びます。複数のデータを順番に処理する基本を確認します。










