循环直到条目匹配预定值

Loop until entry matches a predetermined value

我想让用户尝试猜谜游戏。程序应该循环直到用户猜对为止。
我如何比较这些值?现在它每次都经过 else 部分,即使用户猜对了。
这是代码;

import sys
from random import randint

secret_number = randint(0, 100)
num_guesses = 0
guess = 0


while guess != secret_number:
    guess = raw_input("Enter a number: ")

    if (guess < secret_number):
        print "Your guess is too low. Please try again."

    else:
        print "Your guess is too high. Please try again."
    num_guesses = num_guesses + 1

print "Thank you, you guessed right"

print guess

raw_input 将 return 字符串,您将字符串与 int 进行比较,但没有任何效果

还有你永远猜不到的数字: 您的代码有 2 个选项:太低或太高

而且你永远不会将尝试次数与最大尝试次数进行比较(尝试自己解决)

更正版本:

import sys
from random import randint

secret_number = randint(0, 100)
num_guesses = 0
guess = 0


while guess != secret_number:
    guess = raw_input("Enter a number: ")

    if (int(guess) < secret_number):
        print "Your guess is too low. Please try again."

    elif (int(guess) > secret_number) :
        print "Your guess is too high. Please try again."
    else:
        print "Thank you, you guessed right"
        break

num_guesses = num_guesses + 1



print guess

您需要使用 intraw_input returns 的字符串转换为整数,以便比较运算符按照您期望的方式工作:

guess = int(raw_input("Enter a number: "))