【Python第5回】繰り返し処理:for文とwhile文
同じ処理を何度も繰り返すループ処理を習得します。Pythonにおける最も代表的な繰り返し手法である「for文」と、一定の条件に基づいて動き続ける「while文」を解説します。
1. リストの要素を順に処理する for 文
Pythonで繰り返しを行う際、最も使用頻度が高いのが `for文` です。
`for 変数 in リスト:` と記述することで、リストの最初から最後まで、データが変数に順番に代入されながらループが実行されます。if文と同様に、末尾のコロン `:` と、中身の「インデント」を忘れずに書いてください。
2. 指定回数のループを回す range 関数
「3回繰り返す」のように、特定の回数だけ処理を行いたい時は、`range()` という便利な機能と組み合わせます。
`range(5)` と指定すると、`0, 1, 2, 3, 4` という5つの数値が自動生成されます。プログラミングの「0から開始する」法則に基づき、1から5ではなく、0から開始した5つの数字となる点に注目してください。
3. 条件が成立する間繰り返す while 文
「回数」が決まっておらず、「条件を満たしている間はずっと繰り返す」という時には `while文` を使います。
`while 条件式:` と記述し、条件式の結果が `True` である限り、インデントされた処理をループ実行し続けます。
4. さまざまな繰り返しを実行するコード
以下のコードは、リストの読み出し、指定回数のループ、および数値が10に達するまでカウントアップするwhile文の実行コードです。
# 1. リストの要素ループ animals = ["イヌ", "ネコ", "ウサギ"] for animal in animals: print(animal) # イヌ、ネコ、ウサギが順に表示される # 2. range() による5回のループ for i in range(3): print("こんにちは!") # 3回出力される # 3. while による条件ループ count = 0 while count < 3: print(count) count = count + 1 # countを1増やして無限ループを防ぐ
⚠️ 注意:無限ループ(Infinite Loop)の回避
while文を使う際、ループの中で条件式を `False` に切り替える処理(例:変数を加算する記述など)を書き忘れると、プログラムが永遠に終了しない「無限ループ」に陥ってパソコンがフリーズしてしまいます。必ずループを抜ける仕掛けを内包させてください。
Pythonで指定した任意の回数(例: 10回)のループをfor文で簡単に回すために、`for i in …` の後ろに組み合わせて使用する、連続する数値を生成する便利な関数名は何でしょうか?
※この問題の解答と解説は、ページ最下部(まとめの前)に掲載しています。
5. まとめと次回予告
第5回の講義はお疲れ様でした!今回の重要ポイントを振り返りましょう。
- `for 変数 in 配列:` でリストなどの要素を最初から最後まで順番に取得してループできる。
- 指定回数の繰り返しには `range(回数)` を組み合わせて記述する。
- `while 条件:` は条件が True の間動き続け、無限ループを回避する処理が必須である。
次回(第6回)は、よく使う複数の命令を1つのまとまりとして定義し、再利用しやすくするプログラミングに必須の概念「関数の定義と引数・戻り値」について学びます。お楽しみに!
📖 Pythonの基礎を全10回でマスターする
🔑 第5回 理解度チェックの解答と解説
【解説】
正解は **`range`** (または `range()`)です。 `range(10)` と指定すると、`0` から `9` までの計10個のインデックス番号を順番に生成し、forループで任意の処理を10回繰り返して実行することができます。