我是一名全新的程序員,我一直在努力學習Python(2.7)。我在網上發現了一些練習嘗試,其中一個涉及創建一個簡單的猜謎遊戲。Python While Loop困擾
嘗試盡我所能,我無法弄清楚我的代碼有什麼問題。如果第一次正確猜測數字,則其中的while循環會正確執行。此外,如果第一次嘗試猜測較小的數字,則正確的代碼塊將執行 - 但隨後所有後續的「猜測」都會生成「較高」數字的代碼塊,而不管輸入如何。我已經在整個代碼中打印出變量來試着看看發生了什麼 - 但它沒有幫助。任何有識之士將不勝感激。謝謝!這裏是我的代碼:
from random import randint
answer = randint(1, 100)
print answer
i = 1
def logic(guess, answer, i):
guess = int(guess)
answer = int(answer)
while guess != answer:
print "Top of Loop"
print guess
print answer
i = i + 1
if guess < answer:
print "Too low. Try again:"
guess = raw_input()
print guess
print answer
print i
elif guess > answer:
print "Too high. Try again:"
guess = raw_input()
print guess
print answer
print i
else:
print "else statement"
print "Congratulations! You got it in %r guesses." % i
print "Time to play a guessing game!"
print "Enter a number between 1 and 100:"
guess = raw_input()
guess = int(guess)
logic(guess, answer, i)
我敢肯定,這是顯而易見的事情,我apoloogize提前如果我只是愚蠢。
將'guess = raw_input()'更改爲'guess = int(raw_input())'。在python3中,通過比較一個字符串和一個整數會產生一個錯誤。 – Bakuriu
就是這樣 - 非常感謝你! – shanesmith30286