1.3 Pythonのfor文とwhile文をやさしく解説|ループ処理の基本から応用まで
1.3 繰り返し処理(for, while)
プログラムの中には「何度も同じ処理を繰り返す」必要がある場面がよくあります。例えば、リストの中身を1つずつ表示したり、条件を満たすまで処理を続けたりするケースです。
そのような処理は ループ(繰り返し) と呼ばれ、Pythonでは主に for と while を使って記述します。
for文:コレクションの中身を順番に処理する
for 文は、リストや文字列などの「イテラブル(繰り返せるもの)」の要素を、1つずつ順番に処理します。
fruits = ["apple", "banana", "orange"]
for fruit in fruits:
print(fruit)
上記のコードは、リスト fruits の中身を1つずつ fruit に代入して、表示します。
range() 関数で数値の繰り返し
for i in range(5):
print(i)
range(5) は 0, 1, 2, 3, 4 のように、0から始まる連続した整数を返します。
range(5)→ 0〜4(5未満)range(2, 6)→ 2〜5range(0, 10, 2)→ 偶数(0,2,4,...)
while文:条件を満たす間ずっと繰り返す
while 文は、「条件が True の間」ずっと繰り返します。
x = 0
while x < 3:
print(x)
x += 1
上の例では x が3未満の間、print を繰り返します。条件が False になるとループは終了します。
無限ループと break
while True:
command = input("終了するには q を入力:")
if command == "q":
break
while True は無限ループを作りますが、break 文で強制的に抜けることができます。
ループ制御:continue と else
continue:その回の処理をスキップして次の繰り返しへelse:ループが正常終了したときに実行される
for i in range(5):
if i == 2:
continue
print(i)
else:
print("ループ終了")
else はあまり知られていませんが、ループが break で中断されなかったときに実行される補足処理として使えます。
for は「回数が決まっている繰り返し」、while は「条件が続く限りの繰り返し」に向いています。それぞれの用途を意識しながら使い分けると、Pythonの制御構造を自在に使えるようになります。
次のセクションでは、複数の値をまとめて扱える「コレクション型」について学びます。
下田 昌平
開発に関するインプットをアウトプットしています。検索ログ
開発・技術相談
システム開発や技術検証、要件定義の作成、アーキテクチャ設計、 テスト設計、運用設計まで、一気通貫で支援しています。 企画段階の「まず相談したい」レベルから、実装・運用まで 幅広く対応できますので、お気軽にお問い合わせください。
お問い合わせ