とある関数から、関数を呼び出し、そこからまた別の関数を呼び出したとき、その2番目に呼び出した関数だけ終了させたい。
例えば、
python
1import sys 2 3def method1(): 4 print("a") 5 d = input() 6 if d == "0": 7 print("skip") 8 sys.exit() 9 print("1") 10 11def method2(): 12 print("b") 13 method1() 14 print("2") 15 16def method3(): 17 method2() 18 print("c") 19 20 21method3()
このプログラムを実行すると、実行されたメソッド3から2を呼び出し、そこから1を呼び出してinputで0が入ると、sys.exit()でプログラム全体を強制終了させています。これをsys.exit()ではなくして、inputで0が入ったときmethod2だけ終わらせて、メソッド3は引き続き実行が続くようにしたいです。引数と戻り値でif条件分けすれば出来ますが、そういうのでなく、メソッド1から途中のメソッド2だけ終了させmethod3が続くような方法はないでしょうか。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。