こんにちは。高校情報の未来予想図です。
「反復構造」のwhile文をしっかり理解できていますか?
この記事では、プログラミングの基本であるwhile文を初心者にもわかりやすく解説します。
効率よく繰り返し処理を学べば、プログラムの幅が広がること間違いなし。
定期テストや共通テストの対策にも役立ててください!
while文ってなに?
while文は、指定した条件が「True」の間、繰り返し処理を実行するための構文です。
「何回繰り返すか分からないけれど、ある条件を満たすまで処理を続けたい」ときに便利です。
while文の基本構文
while 条件:
繰り返したい処理
- 条件が
Trueの間、処理が実行されます。 - 条件が
Falseになると、while文は終了します。
具体例:1から5までの数字を表示する
次に、while文を使って1から5までの数字を表示してみます。
num = 1
while num <= 5: # 条件: numが5以下である間
print(num) # numを表示する
num += 1 # numを1増やす
コードの動き
- 最初に
numの値は1です。 num <= 5の条件をチェックします。最初はTrueなので処理を実行します。print(num)で1が表示されます。num += 1でnumが2になります。- 再び条件をチェックし、
Trueなので次の処理を実行します。 - この繰り返しを続け、最後に
numが6になった時点で条件がFalseとなり、ループが終了します。
出力結果
1
2
3
4
5
while文のポイント
- 条件が
Falseにならないと永遠にループし続けるので注意してください。(無限ループといいます) - 例えば、
num += 1を忘れると、numがずっと1のままで無限ループになります。
while文の演習問題
演習1:10から1までのカウントダウン
10から1までカウントダウンし、最後に「発射!」と表示するプログラムを書いてみましょう。
答え
num = 10
while num > 0: # numが0より大きい間繰り返す
print(num) # numを表示
num -= 1 # numを1減らす
print("発射!") # ループが終了したら表示
プログラムの動き
- 最初に変数
numに10を代入します。これがカウントダウンのスタート地点です。 while num > 0という条件をチェックします。ここでは、「numが0より大きい間だけ繰り返し処理を実行する」という意味です。- 条件が
True(つまり、numが0より大きい)である場合:print(num)でnumを表示します。num -= 1でnumを1減らします。
- 条件が
False(つまり、numが0以下)になると、while文のループが終了し、次のprint("発射!")が実行されます。
出力結果:
10
9
8
7
6
5
4
3
2
1
発射!
演習2:合計を計算するプログラム
1から10までの合計を計算して表示するプログラムを書いてみましょう。
答え
num = 1
total = 0
while num <= 10:
total += num # totalにnumを足す
num += 1 # numを1増やす
print("合計:", total)
プログラムの動き
- 初期値の設定
num = 1: 繰り返し処理のカウンタとしてnumを1に設定します。total = 0: 合計を保存するための変数totalを0に設定します。
- 条件のチェック
while num <= 10:で、numが10以下である間だけ処理を繰り返します。
- 累積加算
total += numは、total = total + numと同じ意味です。- 現在の
numの値をtotalに加えて、合計を更新します。
- カウンタの更新
num += 1で、次のループに進むためにnumを1増やします。
- 最終結果の表示
- ループが終了した後、
printで合計値を表示します。
- ループが終了した後、
出力結果:
合計: 55
発展問題
発展問題:条件付きの数列表示
1から100までの数字のうち、3の倍数だけを表示するプログラムを作りましょう。
答え
num = 1
while num <= 100: # 100以下の間繰り返す
if num % 3 == 0: # 3で割り切れる場合
print(num) # 表示
num += 1 # numを1増やす
プログラムの動き
- 初期値の設定
num = 1で、変数numに1を代入します。ここがスタート地点になります。 - 条件のチェック
while num <= 100:で、numが100以下である間だけ処理を繰り返します。条件が満たされなくなったらループが終了します。 - 条件判定
if num % 3 == 0:で、numが3で割り切れるかを確認します。この部分が条件式です。 - 出力
条件が満たされた場合にprint(num)で現在のnumを表示します。 - 変数の更新
num += 1で、次のループに進むためにnumを1増やします。
出力結果:
3
6
9
...
96
99
まとめ
- while文は「条件がTrueの間、処理を繰り返す」というループです。
- 使い所: ループの終了条件が事前に決まっていない場合や、条件を柔軟に設定したい場合に便利です。
while文とfor文を使い分けながらプログラムを作る練習をしてみましょう!


コメント