我的python代码有什么问题?

Bra*_*eod -6 python python-2.7

我想在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"
Run Code Online (Sandbox Code Playgroud)

问题是无论我输入什么号码,我每次都会得到"猜数较低的数字".那有什么不对?

khe*_*ood 5

有了这个:

guess = raw_input("Guess the number \n")
Run Code Online (Sandbox Code Playgroud)

guess 是一个字符串,而不是一个数字.

你可以这样做:

guess = int(raw_input("Guess the number \n"))
Run Code Online (Sandbox Code Playgroud)

得到一个int.

  • @JoranBeasley:它不会"崩溃",它会引发一个`ValueError`,用基数为10的int()的无效文字:'你的程序很糟糕而且你很糟糕'.是否留给用户阅读,或将其包装在`try` /`except`中,取决于您尝试为什么样的用例制作的程序类型. (2认同)
  • (PS,我并不是说你的用户总是试图输入''你的程序糟透了,你吮吸'`如果你给他们一个提示,但我的用户通常这样做.:)) (2认同)