循环直到条目匹配预定值
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
您需要使用 int
将 raw_input
returns 的字符串转换为整数,以便比较运算符按照您期望的方式工作:
guess = int(raw_input("Enter a number: "))
我想让用户尝试猜谜游戏。程序应该循环直到用户猜对为止。
我如何比较这些值?现在它每次都经过 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
您需要使用 int
将 raw_input
returns 的字符串转换为整数,以便比较运算符按照您期望的方式工作:
guess = int(raw_input("Enter a number: "))