Python 猜谜游戏:将用户输入与随机生成的数字匹配
因此,对于这个程序,我试图找出如何让用户输入一个数字,并猜测程序生成的数字(1到10)。似乎每次我输入一个值,它总是给我“你猜对了数字!”字符串,即使我输入的值高于10Python 猜谜游戏:将用户输入与随机生成的数字匹配,python,python-3.x,Python,Python 3.x,因此,对于这个程序,我试图找出如何让用户输入一个数字,并猜测程序生成的数字(1到10)。似乎每次我输入一个值,它总是给我“你猜对了数字!”字符串,即使我输入的值高于10 编辑:为什么有人会否决我的问题o_o你需要在while循环中获取用户的输入,以便用户的输入在每次迭代中都得到更新 def var (guess): return guess guess = int(input("Guess a number 1 through 10: ")) import random num =
编辑:为什么有人会否决我的问题o_o你需要在while循环中获取用户的输入,以便用户的输入在每次迭代中都得到更新
def var (guess):
return guess
guess = int(input("Guess a number 1 through 10: "))
import random
num = (random.randint(1,10))
while True:
try:
guess = num
print("you guessed the right number!")
break
except:
print("try again")
break
try/except
用于异常处理,不匹配值。您要查找的是if
stations,例如:
import random
num = (random.randint(1,10))
while True:
try:
guess = int(input("Guess a number 1 through 10: "))
if guess == num:
print("you guessed the right number!")
break
else:
print("try again")
except:
print('Invalid Input')
我认为您可能打算继续循环,直到猜到正确的数字,在这种情况下,这将起作用:
guess = int(input("Guess a number 1 through 10: "))
import random
num = (random.randint(1,10))
if guess == num:
print("You guessed the right number!")
else:
print("Try again")
您需要阅读
if
语句,即if guess==num
现在您正在设置guess=num
。另外,try except
并不意味着替换if
语句为什么它不总是打印正确的数字消息?在这种情况下,最好使用except ValueError
而不是普通的except
,因为普通的except
将捕获所有异常(其中一些您可能不希望被捕获),而除了ValueError
将只捕获预期类型的异常。在这种情况下,我没有发现任何其他异常,但是使用特定的except
子句而不是泛型的except
通常是更好的做法。哇,谢谢!起初我不明白,但我明白了。原来是错误的,因为一旦用户输入一个值,它将只允许用户输入一次。如果用户猜错了数字,它不会提示再次猜,因为输入不在while循环中。既然我在while循环中有了输入,那么如果用户一直猜错了号码,程序只会提示用户继续猜。
import random
num = (random.randint(1,10))
while True:
guess = int(input("Guess a number 1 through 10: "))
if guess == num:
print("You guessed the right number!")
break
else:
print("Try again")