我想在python中做一個猜謎遊戲。我的python代碼有什麼問題?
from random import randint
print "\nI'm thinking of a number, you have to guess what it is.\n"
num = randint(1,100)
guess = 0
while guess != num:
guess = raw_input("Guess the number \n")
if guess < num:
print "Guess higher next time \n"
elif guess > num:
print "Guess lower next time \n"
elif guess == num:
print "That's correct \n"
問題是無論我輸入什麼號碼,我都會每次都得到「猜測較低的數字」。那麼,怎麼了?
你必須將'guess'轉換爲'int':'guess = int(raw_input(「猜數n」))''。否則,您總是將一個字符串與一個int進行比較,並且該字符串將始終評估爲「大於」。 – dano 2014-11-04 20:05:35
至於爲什麼字符串大於任何數字,請參閱http://stackoverflow.com/a/3270689/3557327 – user3557327 2014-11-04 20:06:40
作爲一個方面說明,這是Python 3.x中更好的許多事情之一。如果你把它搞砸了,而不是以一種對你沒有意義的方式成爲代碼的作者/調試者,它會給你一個很好的例外,它會告訴你到底發生了什麼錯誤。 – abarnert 2014-11-04 20:21:51