0
我試圖編碼一個隨機數猜測遊戲,主要是因爲我想知道如果/我的卡西歐CFX-9850G可以像goto
那樣工作。 我沒有得到消毒輸入和生成錯誤消息(例如,設置max
太低,輸入字母而不是數字,猜測超過最大值等)。我最初的問題是,雖然我的代碼沒有產生錯誤,但我似乎無法猜測數字,即使我將max設置爲3並嘗試0,1,2,3,4,5。這似乎是我創建了一個循環,我無法弄清楚在哪裏。 這裏是我的代碼:爲什麼我似乎陷入循環?
import random
print "GUESS MY NUMBER"
max=int(raw_input("Guess number between 1 and what?"))
randomnumber = random.randint(1,max)
def make_guess(guess):
if guess == randomnumber:
print "Congratulations, you guessed my number!"
else:
guess=raw_input("Guess again?")
make_guess(guess)
guess=int(raw_input("What is your best guess?"))
make_guess(guess)
print "My number was" ,randomnumber
,它產生:
GUESS MY NUMBER Guess number between 1 and what? 3 What is your best guess? 0 Guess again? 1 Guess again? 2 Guess again? 3 Guess again? 4
現在我想代碼循環,直到一個正確的猜測,但我期望的正確的猜測將觸發if
代碼。
將您的函數定義移到代碼的頂部或定義一個主函數。不要混淆頂級代碼和功能。 –
@VaibhavAggarwal我不明白。你的意思是把我的'def make_guess'移到上面'print「GUESS MY NUMBER」?我嘗試過,並沒有解決我的問題。 – toonarmycaptain