Contents
9.1 条件を満たしている間だけ処理を繰り返す While
では、**「条件を満たしている間だけ繰り返す while ループ」**について、
for文との違いが分かるように説明します。
while ループとは?
一言で言うと👉 条件が True の間、ずっと処理を繰り返す仕組みです。
while 条件:繰り返したい処理
日常の例で考える
眠くない間は起きている
→ 眠くなったらやめる
これが while の考え方です。
基本例(数字を繰り返す)
i = 0
while i < 5:
print(i) i += 1
実行の流れ
i < 5 をチェック
True → 中を実行
i += 1
再び条件チェック
False になったら終了
for文との違い(重要)
| 比較 | for | while |
|---|---|---|
| 回数 | 決まっている | 未定 |
| 条件 | 自動 | 自分で管理 |
| 用途 | 繰り返し回数が分かる | 条件次第で続ける |
よくある使い道①:入力待ち
while True:
s = input("qで終了: ")
if s == "q":
break
👉 ユーザー操作待ちに最適
break(強制終了)
while True:
print("実行中")
break
👉 条件に関係なく ループを抜ける
continue(次へ)
i = 0
while i < 5:
i += 1
if i == 3:
continue
print(i)
👉 その回だけ処理をスキップ
無限ループに注意!
❌ 危険な例
while True:
print("止まらない")
⭕ 終了条件を必ず用意
while True:
if 条件:
break
よくある初心者ミス
❌ 条件が変わらない
i = 0
while i < 5:
print(i) # iが変わらない!
👉 永遠に終わらない
実用例:正しい入力が来るまで待つ
while True:
age = input("年齢を入力: ")
if age.isdigit():
break
print("入力OK")
まとめ(ここだけ覚えればOK)
while = 条件がTrueの間くり返す
回数が決まらない処理に使う
終了条件が必須
break / continue をよく使う
覚え方
「いつ終わるか分からないなら while」
9.2 リストや辞書から順に値を取り出す for
では、**「forループで使うリスト/辞書とは何か?」**を
for文の動きが直感的に分かるように解説します。
forループとは
一言で言うと
👉 **「中身を1つずつ順番に取り出して処理する」**のが for ループです。
その 取り出される元のデータ が
リスト
辞書
などの 複数データ(コレクション) です。
forループ × リスト
リストとは?
👉 順番に並んだ複数の値
fruits = ["りんご", "みかん", "バナナ"]
for文で使うと
for fruit in fruits:
print(fruit)
動きのイメージ
fruit = "りんご"
fruit = "みかん"
fruit = "バナナ"
👉 リストの要素が1つずつ変数に入る
forループ × 数値リスト(超定番)
numbers = [1, 2, 3, 4, 5]
for n in numbers:
print(n * 2)
forループ × 辞書(基本)
辞書とは?
👉 キーと値のセット
person = {
"name": "田中",
"age": 30,
"city": "東京"
}
辞書を for で回す(キー)
for key in person:
print(key)
👉 デフォルトはキー
キーと値を両方使う(最重要)
for key, value in person.items():
print(key, value)
値だけ使う
for value in person.values():
print(value)
リストと辞書の for の違い
| データ型 | forで取り出されるもの |
|---|---|
| リスト | 値 |
| 辞書 | キー |
| 辞書 + items() | キーと値 |
よくある初心者の疑問
Q. なぜ range も使える?
for i in range(5):
print(i)
👉 range() も **「繰り返せるデータ」**だから
(中身は 0,1,2,3,4)
実用例①:合計を求める
total = 0
scores = [80, 70, 90]
for s in scores:
total += s
print(total)
実用例②:辞書で条件判定
scores = {"math": 80, "eng": 55}
for subject, score in scores.items():
if score < 60:
p rint(subject, "は不合格")
forで使える共通ルール
順番に取り出せるものなら使える
リスト/辞書/文字列/range
1回ずつ変数に代入される
まとめ(ここだけ覚えればOK)
for文は 中身を1つずつ処理
リスト → 値を順番に
辞書 → キー(またはキー+値)
items() は超重要
覚え方
「for は箱の中を1個ずつ見る」
「リストは中身、辞書は名前付き」
9.3 指定された回数だけ処理を繰り返す range
では、**「指定された回数だけループする range とは何か?」**を
for文との関係を中心に分かりやすく解説します。
range とは?
一言で言うと👉 **「連続した数値を自動で作ってくれる仕組み」**です。
主に forループで回数を指定したいとき に使います。
一番基本の形
for i in range(5):
print(i)
実行結果
0 1 2 3 4
ポイント
5回繰り返す
数字は 0から始まる
5は含まれない
range の正体
range(5)
これは実際には👇のような数列を意味します。
0, 1, 2, 3, 4
👉 「0 〜 4まで」
range の書き方は3種類
① range(回数)
range(5)
0 〜 4
5回ループ
② range(開始, 終了)
for i in range(2, 6):
print(i)
2
3
4
5
👉 開始は含む/終了は含まない
③ range(開始, 終了, 増加量)
for i in range(0, 10, 2):
print(i)
0
2
4
6
8
👉 2ずつ増える
なぜ「終了の数」は含まれない?
理由👇
回数計算がしやすい
配列(リスト)の番号と相性が良い
items = ["a", "b", "c"]
for i in range(len(items)):
print(items[i])
range はリストではない
r = range(5)
print(r)
range(0, 5)
👉 軽量な「繰り返し専用オブジェクト」
リストにしたい場合👇
list(range(5))
よくある使い方
指定回数だけ処理したい
for _ in range(3):
print("Hello")
👉 _ は「使わない変数」の意味
カウントダウン
for i in range(5, 0, -1):
print(i)
for × range の関係まとめ
| 書き方 | 意味 |
|---|---|
range(n) |
n回繰り返す |
range(a, b) |
a〜b-1 |
range(a, b, c) |
cずつ増減 |
初心者が混乱しやすい点
❌ range(1,5) → 1〜5
⭕ 実際は 1〜4
まとめ(ここだけ覚えればOK)
range は 回数指定用
0から始まる
終わりの数字は含まれない
for文とセットで使う
覚え方
「range=回数を作る道具」
「最後は含まれない」
9.4 強制的にループを中断する break
**「ループを中断する break とは?」**について解説します。
break とは?
一言で言うと👉 ループ処理を途中で強制終了する命令です。
for ループ
while ループ
の 中で使います。
基本的な使い方
for i in range(10):
if i == 5:
break
print(i)
実行結果
0
1
2
3
4
👉 i == 5 になった瞬間、ループが完全に終了します。
break がない場合との違い
break なし
for i in range(5):
print(i)
print("終了")
👉 最後まで必ず実行
break あり
for i in range(5):
if i == 3:
break
print(i)
print("終了")
👉 途中で抜けてから次の処理へ
while ループでの break(超重要)
while True:
s = input("qで終了: ")
if s == "q":
break
👉
while True → 無限ループ
break → 終了条件
この組み合わせは 非常によく使われます。
日常の例でイメージ
探し物をしていて
見つかったら → 探すのをやめる
これが break の役割です。
break と continue の違い(重要)
| 命令 | 動作 |
|---|---|
| break | ループを終了 |
| continue | その回だけスキップして次へ |
continue の例
for i in range(5):
if i == 2:
continue
print(i)
0
1
3
4
👉 ループ自体は続く
break は if と一緒に使う
for n in numbers:
if n < 0:
break
👉 条件を満たしたら中断
ネスト(入れ子)時の注意
for i in range(3):
for j in range(3):
if j == 1:
break
print(i, j)
👉 break は 一番内側のループだけを抜けます。
よくある初心者ミス
❌ ループの外で使う
break # エラー
⭕ ループの中で使う
while True:
break
まとめ(ここだけ覚えればOK)
break = ループを途中でやめる
for / while の中で使う
if と一緒に使うのが基本
無限ループの出口として重要
覚え方
「break=脱出ボタン」
9.5 ループの現在の周回をスキップする continue
では、**「スキップして次の周回を継続する continue とは何か?」**を
break との違いがはっきり分かるように解説します。
continue とは?
一言で言うと👉 **「今の周回の残り処理を飛ばして、次の周回へ進む命令」**です。
ループ自体は 終わらない
その回だけ 処理をスキップ
基本的な使い方
for i in range(5):
if i == 2:
continue
print(i)
実行結果
0
1
3
4
👉 i == 2 のとき
print(i) が 実行されずに次へ進みます。
continue が実行される流れ
① 条件チェック
② continueに入る
③ その回の残りは全部スキップ
④ 次のループへ
break との違い(超重要)
| 命令 | 動作 |
|---|---|
| break | ループを終了 |
| continue | その回だけ飛ばす |
比較例
break
for i in range(5):
if i == 2:
break
print(i)
0
1
continue
for i in range(5):
if i == 2:
continue
print(i)
0
1
3
4
while ループでの continue
i = 0
while i < 5:
i += 1
if i == 3:
continue
print(i)
1
2
4
5
⚠ continue の前後で変数更新を忘れないこと
よくある使い道①:条件外を飛ばす
for n in numbers:
if n < 0:
continue
print(n)
👉 負の数は無視する
よくある使い道②:入力チェック
while True:
s = input("数字を入力: ")
if not s.isdigit():
print("数字ではありません")
continue
break
👉 正しい入力だけ受け付ける
ネスト(入れ子)時の注意
for i in range(3):
for j in range(3):
if j == 1:
continue
print(i, j)
👉 continue は
一番内側のループだけに効きます。
よくある初心者ミス
❌ continue をループの外で使う
❌ while で continue 後にカウンタ更新を忘れる
→ 無限ループの原因
まとめ(ここだけ覚えればOK)
continue = その回だけスキップ
ループは 続行される
条件外の処理を飛ばすのに便利
break とは役割が全く違う
覚え方
break=脱出
continue=読み飛ばし

コメント