今回は、Pythonでwhileのループをtrueで繰り返す方法についてご紹介します。
while Trueとは
while Trueは、条件を常に真(True)にしておくことで無限ループを実現する方法です。
条件式がTrueである限り、ループを繰り返し続けます。
Pythonでは、強制的にループを抜けるためにbreak文を使うことが多いです。
無限ループは使い方を誤るとプログラムが停止しなくなるため、適切な終了条件を設けることが重要です。
基本的な使い方
最もシンプルな例は、以下のコードのように入力が特定の値になったらループを終了する形です。
条件を満たしたときにbreakを実行することで、ループを強制終了できます。
1 2 3 4 5 6 |
while True: user_input = input("何か入力してください(終了するには 'q' を入力): ") if user_input.lower() == 'q': print("ループを終了します。") break print(f"あなたが入力したのは: {user_input}") |
何か入力してください(終了するには ‘q’ を入力): Hello
あなたが入力したのは: Hello
何か入力してください(終了するには ‘q’ を入力): q
ループを終了します。
無限ループとリソースの消費
無限ループを実装する際は、CPUやメモリなどのリソースに注意する必要があります。
ループ内で重い処理を実行すると、システムが極端に負荷を受ける可能性があります。
必要に応じて、time.sleep()などで待機時間を挟み、処理を制御するとよいでしょう。
よくあるエラーと対処法
SyntaxError
while文の後に:(コロン)を付け忘れると
Pythonの制御構文では、条件や関数定義の末尾にコロンを付ける必要があります。
「while True:」のように正しく記述してください。
IndentationError
Pythonはインデント(字下げ)でブロックを区切ります。
インデントがずれていると、IndentationErrorが発生する場合があります。
while文やif文など、ブロックを正しくインデントして記述しましょう。
まとめ
while Trueは、無限ループを実装するときに非常に便利です。
しかし、breakなどの終了条件がないとプログラムが停止しなくなるため、適切な制御が求められます。
正しいコロンやインデントを守り、ループ内の処理や終了条件を明確にして活用してください。