Python | while と for の比較(超初心者向け)

Python
スポンサーリンク

では 「while / for の比較版」 を、初心者向けに図解付きで “一瞬で違いがわかる” 形にまとめます。
教科書・講義資料としてそのまま使えるクオリティで作ります。


まず結論(超ざっくり)

  • while …「条件が True の間くり返す」
  • for ……「回数が決まっている / リストなどを順番に処理する」

1枚でわかる比較表

項目while文
仕組み条件がTrueの間、繰り返す
条件を書き続けるループ
よく使う場面回数が決まっていない
例:正しい入力がくるまで待つ
書き方while 条件:
繰り返す処理
条件を変化させる必要あり
注意点条件を変え忘れると無限ループ
break / cont.よく使う(特にbreak)
項目for文
仕組み値を1つずつ取り出して繰り返す
回数が自動で決まる
よく使う場面回数が決まっている
リスト・文字列を順に処理したい
書き方for 変数 in 集合:
繰り返す処理
注意点条件更新が不要で安全
break / cont.同様に使える

動きを図解で比較

while の流れ(条件ループ)

① 初期化(i = 1 など)
        │
        ▼
② 条件をチェック
        │ True
        ▼
③ 処理を実行
        │
        ▼
④ 条件を更新(i += 1)
        │
        └──→②へ戻る
        │ False
        ▼
⑤ 終了

for の流れ(値を順に処理)

① 集合(リストなど)を用意
② 最初の値を取り出す → 処理
③ 次の値を取り出す → 処理
④ すべての値を処理したら終了
例:for x in [10, 20, 30]
       ├─ x = 10 → 処理
       ├─ x = 20 → 処理
       └─ x = 30 → 処理
(終わり)

実例で比較

while で1~5を表示

i = 1
while i <= 5:
    print(i)
    i += 1
Python

for で1~5を表示

for i in range(1, 6):
    print(i)
Python

→ 同じ結果だが、for のほうがシンプル!


どっちを使えばよい?

状況使うべき
回数が決まっているfor
リストを順番に処理したいfor
条件が満たされるまで繰り返したいwhile
ユーザー入力を監視するwhile
無限ループが必要while(+ break)

最後に(初心者向けアドバイス)

  • よくわからないときは for を使うのが基本
  • 「条件がTrueのあいだ続けたい」ときだけ while を使う

これだけ覚えておけばOKです。

Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました