新しく学んだプログラミングコンセプトは、あなたのスキルを全く新しいレベルに引き上げることができます。すでにforループに慣れているなら、次の中心的なプログラミングの構成要素であるwhileループに取り組む時が来ました。このガイドでは、whileループとは何か、どのように機能するのか、そしてどのようにしてPythonコードで効果的に使用することができるのかを学びます。
主な知見
- whileループは、特定の条件が満たされている限り、コードの実行を繰り返します。
- ループは最終的に停止する必要があり、無限ループを避けることが重要です。
- break、continue、passを使えば、whileループの動作を制御できます。
whileループの基本
whileループは、Pythonの基本的なループの一つであり、条件が満たされる限り、コードブロックを繰り返し実行することができます。forループとは異なり、whileループは設定された反復回数のために実行を繰り返すのではなく、プログラムの論理が要求する限り繰り返されます。
whileループの構文
以下に、whileループの構造を詳しく説明します。

まず、確認する条件を定義します。条件がTrue(真)である場合、ループ内のコードブロックが実行されます。各反復の後に、条件が再度確認されます。
シンプルな例
たとえば、変数xの値を4未満の間増やしたいとしましょう。

各反復ごとにxが増加し、xの現在の値が出力されます。条件が満たされなくなるまでこれが続きます。
ループの終了
ループがいつか停止し、条件がFalseになることが重要です。そうしないと、プログラムがクラッシュする可能性のある無限ループを作成します。これを避けるためには、確認している変数が実際に変更されていることを確認し、条件が常にTrueではないようにします。

whileループにおけるelseブロック
whileループのもう一つの便利な点は、elseブロックを使用することです。このブロックは、ループが終了し、条件がもはや満たされていない場合に実行されます。

上記のコードを実行すると、ループの最後に「処理が完了しました。」というメッセージが出力されます。
breakとcontinueを使ったループの制御
より複雑なプログラムでは、whileループの動作をさらに制御する必要があります。ここでは、break、continue、passのコマンドが登場します。
break
breakコマンドを使用すると、ループを手動で中断できます。特定の条件が満たされた場合、ループを早めに離れることができます。

この例では、xが2に達した時点でループが中断されるため、x = 0とx = 1のみが出力されます。
continue
continueコマンドは、現在の反復をスキップし、次の反復に直接進みます。

この場合、xの値が2に達すると、実行が次の反復にスキップされるため、x = 2は出力されません。
pass
passコマンドは、ブロックの命令を空のまま保持し、何も実行しないようにします。プレースホルダーが必要で、何を実行するか確信が持てない場合に便利です。

この例では、whileループに条件があり、x = 2に対しては何も影響を及ぼしませんが、コードは依然として複雑さなしに保たれます。
まとめ - Pythonにおけるwhileループ: 初心者のためのガイド
このガイドでは、Pythonにおけるwhileループの基本を学びました。whileループを定義する方法、構文は何か、break、continue、passのような機能がループを効果的に制御するためにどのように利用できるかを理解しました。無限ループを避けるためには、ループがいつか停止することを常に確認することを忘れないでください。
よくある質問
whileループはどのように機能しますか?whileループは、特定の条件が満たされている限り、コードブロックの実行を繰り返します。
breakとcontinueの違いは何ですか?breakはループを完全に中断し、continueは現在の反復をスキップして次に進みます。
無限ループをコードで回避するにはどうすればよいですか?whileループの条件がいつか真でなくなるように、確認している変数を適切に変更することを確認してください。
passを使用すると、ループに悪影響を及ぼしますか?いいえ、passはプレースホルダーであり、ループの動作に影響を与えません。文法エラーを回避するためにのみ使用されます。
whileループの条件が最初から満たされないとどうなりますか?条件が最初の反復時に満たされない場合、ループのコードブロックは決して実行されませんが、定義されている場合、elseブロックが実行される可能性があります。