私はこれまでに尋ねられた同様の質問を知っていて、数時間前からこのコードセクションを手に入れています。ローカル変数 "ANSWER"が使用されていない(pycharm)
このコードはwhileループを持つgame()という関数内にあり、これはwhileループの 'else'部分です。
else:
ANSWER = input("Sorry, game over. Would you like to try again? \'y/n\'")
if 'y' or 'yes' == ANSWER:
game()
elif 'n' or 'no' == ANSWER:
print("See you next time.")
break
else:
ANSWER = input("Sorry, I didn't get that. Restart? \'y/n\'")
game()
Pycharmは、ローカル変数ANSWERが最後のコード行に使用されていないことを伝えています。私のインデントはオフですか?それは私がANSWERを再割り当てしているからですか?私は早くANSWER ==を 'y'や 'yes'にしてみましたが( "no"行と同じ形式)、違いはありませんでしたので問題はありません。
また、私が答えを入力すると、表示されている4行目の 'game()'コマンドが実行されます。私は "alksdfj"と打てばゲームを再開します。
おかげ
1)「私のインデントはオフですか?」 - あなたのコードをもっと見ることなく伝えることは不可能です。 2) "私は早くANSWER ==を 'y'や 'yes'にしてみました:...そうではありません。はい、問題の* 1 *です。あなたのテストは常に真実です。 '' y 'または 'yes' == ANSWER'は' if 'y''が常に真であるため真と評価されます。あなたが望むのは 'if(ANSWER == 'y')か(ANSWER == 'yes'):'です。同じことがelif文にも当てはまります。 – Craig