Python で while ループを終了する

Muhammad Waiz Khan 2023年1月30日
  1. Python で break ステートメントを使用して while ループを終了する
  2. Python で return ステートメントを使用して関数内の while ループを終了する
Python で while ループを終了する

この記事では、Python で while ループを終了する方法について説明します。while ループは、指定された条件に到達しなくなるまで特定のコードを何度も繰り返すために使用される制御フローステートメントです。これは、繰り返しの if ステートメントと見なすことができます。

Python では、次の 2つの方法で、関数本体内と関数本体外の True 条件で while ループを終了できます。

Python で break ステートメントを使用して while ループを終了する

break ステートメントを使用するだけで、関数本体の外側で while ループを終了できます。数値のリストがあり、数値が特定の値より大きい場合、while ループを終了するとします。

以下の例は、Python で break ステートメントを使用して while ループを終了する方法を示しています。

mylist = [1, 4, 2, 7, 16, 3, 2, 8]

while True:
    if mylist[-1] < 5:
        print("less than 5")
    if mylist[-1] > 10:
        print("greater than 10")
        break
    if mylist[-1] > 5:
        print("greater than 5")
    mylist.pop()

出力:

greater than 5
less than 5
less than 5
greater than 10

以下のサンプルコードに示すように、Python の break ステートメントを使用して、関数本体内の while ループを終了することもできます。

mylist = [1, 4, 2, 7, 16, 3, 2, 8]


def myfunc():
    while True:
        if mylist[-1] < 5:
            print("less than 5")
        if mylist[-1] > 10:
            print("greater than 10")
            break
        if mylist[-1] > 5:
            print("greater than 5")
        mylist.pop()
    return


if __name__ == "__main__":
    myfunc()

出力:

greater than 5
less than 5
less than 5
greater than 10

Python で return ステートメントを使用して関数内の while ループを終了する

Python で return ステートメントを使用して、関数内の while ループを終了できます。関数では、break ステートメントの代わりに return ステートメントを使用して while ループを終了することもできます。これにより、while ループが停止し、関数の実行が終了します。

以下の例では、Python で while ループを終了させるために、関数本体内で return 文を使用する方法を示しています。

mylist = [1, 4, 2, 7, 16, 3, 2, 8]


def myfunc():
    while True:
        if mylist[-1] < 5:
            print("less than 5")
        if mylist[-1] > 10:
            print("greater than 10")
            return
        if mylist[-1] > 5:
            print("greater than 5")
        mylist.pop()


if __name__ == "__main__":
    myfunc()

出力:

greater than 5
less than 5
less than 5
greater than 10

関連記事 - Python Loop