1. ホーム
  2. python

[解決済み] 多重ループから抜け出すには?

2022-03-15 14:53:16

質問

次のようなコードがあるとします(これは動作しません)。

while True:
    #snip: print out current state
    while True:
        ok = get_input("Is this ok? (y/n)")
        if ok.lower() == "y": break 2 #this doesn't work :(
        if ok.lower() == "n": break
    #do more processing with menus and stuff

これを実現する方法はあるのでしょうか?それとも、入力ループから抜け出すために1つのチェックを行い、その後、より限定的な別のチェックを外部ループで行い、ユーザーが満足した場合に一斉に抜け出す必要があるのでしょうか?

解決方法は?

私の最初の直感は、ネストされたループを関数にリファクタリングし、その関数に return でブレイクアウトします。