Python while ループと複数の条件

Lakshay Kapoor 2023年1月30日
  1. 複数の条件で Python の while ループを作るために andor の論理演算子を使う
  2. 複数の条件で not 論理演算子を使用して Python の while ループを作成する
Python while ループと複数の条件

Python の while ループは、while ステートメントの条件、つまりテスト条件が真になるまでコードを実行するのに役立つループです。このループは、ユーザーが事前に実行する反復回数がわからない場合に使用されます。while ループが複数の条件で使用される場合が多くあります。

このチュートリアルでは、複数の条件で while ループを使用する方法を説明します。

複数の条件で Python の while ループを作るために andor の論理演算子を使う

and 論理演算子は、最初に式全体を評価し、次にその評価に基づいて結果を返します。2つの条件のいずれかが満たされないか、真でない場合、ステートメントは偽と見なされ、コードは実行されません。

例:

x = 10
y = 20
initial_count = 0
while initial_count < x and initial_count < y:
    print(f"count: {initial_count}, x = {x}, y = {y}")
    initial_count += 1

出力:

count: 0, x = 10, y = 20
count: 1, x = 10, y = 20
count: 2, x = 10, y = 20
count: 3, x = 10, y = 20
count: 4, x = 10, y = 20
count: 5, x = 10, y = 20
count: 6, x = 10, y = 20
count: 7, x = 10, y = 20
count: 8, x = 10, y = 20
count: 9, x = 10, y = 20

この方法では、最初に、それぞれ 10 と 20 に等しい 2つの変数 x と y を作成します。次に、ゼロに等しいカウントを初期化します。これらすべてを実行した後、while ループから開始します。これにより、上記のコードに示すように 2つの条件が作成されます。最後に、論理 and 演算子が機能します。このオペレーターは、最初にユーザーが作成した 2つの条件を 1つに結合し、次に両方の条件を全体としてチェックします。両方の条件が真であることが判明した場合、ループが実行されます。そうでなければ、そうではありません。また、この演算子は、最初のステートメントが真であると判断した後、評価を停止します。この場合のように、ループは 10 カウント後に動作を停止しました。

or 論理演算子に移りましょう。and 論理演算子と同様に、or 演算子も指定された条件を評価し、両方の条件を 1つの条件として結合します。この演算子を使用する利点は、2つの条件ステートメントのいずれかが真であっても、コードが実行されることです。両方のステートメントが false であることが判明した場合、コードは実行されません。

例:

x = 10
y = 20
initial_count = 0
while initial_count < x or initial_count < y:
    print(f"count: {initial_count}, x = {x}, y = {y}")
    initial_count += 1

出力:

count: 0, x = 10, y = 20
count: 1, x = 10, y = 20
count: 2, x = 10, y = 20
count: 3, x = 10, y = 20
count: 4, x = 10, y = 20
count: 5, x = 10, y = 20
count: 6, x = 10, y = 20
count: 7, x = 10, y = 20
count: 8, x = 10, y = 20
count: 9, x = 10, y = 20
count: 10, x = 10, y = 20
count: 11, x = 10, y = 20
count: 12, x = 10, y = 20
count: 13, x = 10, y = 20
count: 14, x = 10, y = 20
count: 15, x = 10, y = 20
count: 16, x = 10, y = 20
count: 17, x = 10, y = 20
count: 18, x = 10, y = 20
count: 19, x = 10, y = 20

このメソッドでは、ループは最初のステートメントの後で停止しないことに注意してください。これは、オペレーターが 2 番目の条件も真であることに気付いたためです。最初のステートメントが真で、2 番目のステートメントが真でない場合、ループは 10 カウント後に停止します。

複数の条件で not 論理演算子を使用して Python の while ループを作成する

複数の条件で while ループを使用できる論理演算子がもう 1つあり、その演算子は not 演算子と呼ばれます。この演算子は、ブールステートメントの反対の値を返すために使用されます。たとえば、ブール状態が not False の場合は true が返され、ブールステートメントが not True の場合は false が返されます。

例:

x = 10
y = 20
initial_count = 0
while not initial_count > x and not initial_count > y:
    print(f"count: {initial_count}, x = {x}, y = {y}")
    initial_count += 1

出力:

count: 0, x = 10, y = 20
count: 1, x = 10, y = 20
count: 2, x = 10, y = 20
count: 3, x = 10, y = 20
count: 4, x = 10, y = 20
count: 5, x = 10, y = 20
count: 6, x = 10, y = 20
count: 7, x = 10, y = 20
count: 8, x = 10, y = 20
count: 9, x = 10, y = 20
count: 10, x = 10, y = 20

ここで、while ステートメントは、初期カウントが x 以下で、初期カウントが y 以下の場合、次のコードのみを返すことを意味します。また、上記のコードでは論理演算 and も使用されていることに注意してください。つまり、and 演算子は最初の not ステートメントが true であると判断し、2 番目の not ステートメントを評価しません。最後に、ループは反復を開始し、10 のカウントで終了します。

したがって、例として while ループで 2つの条件のみを取り上げたように、これらのステートメントをさらに追加できます。

著者: Lakshay Kapoor
Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

関連記事 - Python Loop