前提・実現したいこと
python3で以下の多重whileループを使ったコードを作りました。
while2の中にあるif文のどれかの条件を満たしたら、while2を抜けてwhile3に移りたいのですが、while2から抜けれません。
while 1
. while 2
. if
. elif
. elif
. elif
. else
. while 3
. if
. else
END
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
keepAsking = True while keepAsking: inputCheck = True while inputCheck: a = input("A: ") if len(a) == 0: print("No record has been recorded.") inputCheck = False b = input("B: ") if len(b) == 0: print("No record has been recorded.") inputCheck = False c = input("C: ") if len(c) == 0: print("No record has been recorded.") inputCheck = False d = input("D: ") if len(d) == 0: print("No record has been recorded.") inputCheck = False else: output = a + " (" + b + ") " + "has been recorded as " + c + d + "." print(output) anotherRecord = True while anotherRecord: record = input("Do you wish to enter another record? (Y/N) ") if record == "Y": anotherRecord = False elif record == "N": anotherRecord = False keepAsking = False print("END")
試したこと
break, continue, passを各if/elifに与えてみましたが、while2の最初に戻るだけでwhile3に移動しませんでした。
補足情報(FW/ツールのバージョンなど)
python3.8.2
書いてあることと実際のソースコードが違います。
質問では、一つの while の中に二つの while があるように書かれていますが、実際には一つの while の中に一つの while があり、その中にもう一つ while があります。
インデントを確かめましょう。
ご指摘いただきまして大変ありがとうございます。インデントを修正しました。
まだ違いますね。実際に実行していますか?
while3内のif/elif文ですね?!
修正しました。何度もすみませんm(__)m
これでおそらく、break が使えるはずです。試してみてください。
出来ました・・・ありがとうございます!!!
昨日一人でずっと奮闘しててやっと一歩進めました。
助けてくださり、本当にありがとうございました。
回答するのでベストアンサーにしてもらえますか?
さすがにここまで終わった後についた回答がベストアンサーなのは気に障るので。
はいもちろんです。こちらからも同じことお尋ねしようかと思っていました。宜しくお願いします。
ありがとうございます。
回答2件
あなたの回答
tips
プレビュー