私はPythonにはかなり新しく、whileループやブール値のwin値に問題があるようです。勝った。私の人生の変数にも問題があります。なぜなら、私が間違った答えを得るたびにエラーが出てくるからです。 "UnboundLocalError:割り当て前に参照されるローカル変数 'lives' ps。 「ランダム」番号は常に45ですので、私は簡単に問題を整理するために勝つことができる lives variable pic while loop problem pic 輸入ランダム インポート時Python 3.5 - 数値ピッカーゲームwhileループ&変数(初心者)
def compare():
if guess == rand_num:
print("You guessed correct!")
win = True
elif guess > rand_num:
print ("Guess lower!")
lives = lives - 1
else:
print ("Guess higher!")
lives = lives - 1
win = False
rand_num = 45
lives = 10
while lives > 0:
if win == False:
guess = int(input("Guess a number!"))
compare()
time.sleep(3)
print("Well done!")
機能には分離が必要です。 compareメソッドは実際にはcompareAndPrintAdjustLivesAndSetWinCondition()です。 -1、0、1を返す比較を書くことを検討してください。それに基づいて、それを誰でも呼び出して、人生を調整してください。より多くのグローバル、懸念の分離、より洗練されたコード。 – Halsafar
あなたの質問で受け取ったエラーメッセージを常に述べるべきです。 – Matthew