Pythonのwhile
ループは、特定の条件が満たされている限り反復処理を続けるための強力な機能を提供しています。この記事では、while
ループの基本的な使い方から応用まで、コード例を交えながら詳しく解説します。
基本のwhile
ループ
while
ループは、指定した条件が True
の間、ブロック内のコードを繰り返し実行します。基本の構文は以下の通りです。
while 条件: # 条件がTrueの場合に実行する処理
例として、1から5までの整数を順に出力する簡単なwhile
ループを見てみましょう。
counter = 1 while counter <= 5: print(counter) counter += 1
このコードは、counter
が5以下の場合は繰り返し処理を行い、その都度counter
の値を表示します。結果として1から5までの整数が順に表示されます。
while
ループとユーザー入力
while
ループはユーザーの入力に対して特に有用です。例えば、ユーザーが特定の条件を満たす値を入力するまでプログラムを続行させることができます。
user_input = '' while user_input.lower() != 'quit': user_input = input('続行する場合は「quit」を入力してください: ') print('プログラムを終了します。')
このコードは、ユーザーが「quit」と入力するまで繰り返しユーザーに入力を促し続けます。条件が満たされると、プログラムが終了するメッセージが表示されます。
break
文とcontinue
文の利用
while
ループ内でbreak
文を使用することで、ループを途中で終了させることができます。逆にcontinue
文を使用すると、ループ内の残りのコードをスキップして次の反復に進みます。
counter = 1 while counter <= 5: if counter == 3: print('スキップします。') counter += 1 continue print(counter) counter += 1 if counter == 5: print('終了します。') break
このコードでは、counter
が3の場合はメッセージを表示してスキップし、counter
が5になると終了するようになっています。
else
文の利用
while
ループにはelse
文を組み合わせることができます。while
ループが条件から外れて終了した場合に、else
ブロックのコードが実行されます。
counter = 1 while counter <= 5: print(counter) counter += 1 else: print('ループが終了しました。')
このコードは、counter
が5以下の間は繰り返し処理を行いますが、条件が満たされなくなるとelse
ブロックが実行され、「ループが終了しました。」と表示されます。
while
ループの注意点
while
ループは条件が永遠にTrue
になり続けるような不適切な使い方をすると、プログラムが永遠に実行される可能性があります。このような無限ループに注意してコーディングすることが重要です。
# 無限ループになる例 while True: print('これは無限ループです。')
結言
Pythonのwhile
ループは、特定の条件が満たされている間コードを繰り返し実行するための強力な手段です。ユーザー入力の待機や特定の条件を満たすまでの待機など、様々なシナリオで活躍します。しかし、無限ループにならないように慎重に条件を設定し、break
やcontinue
、else
文を上手に活用することで、より安全で効果的なプログラムを構築することができます。是非、while
ループを使いこなして、柔軟かつ効率的なプログラミングに挑戦してみてください。