所以我试图在python中创建这个真正非常简单的游戏,其中人输入一个数字,如果它匹配计算机生成用户的数字,则会显示一条消息,说明它有正确的数字,如果错误一条消息说它错了,现在我无法弄清楚我在这里做错了什么,因为当我运行这个时,我多次尝试不同的数字,它总是向我显示我没猜到正确数字的消息,谁能告诉我什么我在这里做错了,因为我不知道问题是什么?
import random
number = random.randint(0,10)
user_number = input()
while user_number != number:
if user_number == number:
print("GREAT! You guessed the right number! :)")
else:
print("AWW! You guessed the wrong number, try again! :)")
input()
编辑我有一个问题,每次用户输入内容时,如何让我的脚本生成不同的数字,因为我现在拥有的数字会生成一个数字,而且这个数字永远不会改变(顺便说一句,多亏了安东vBR为这个更新版本,我稍微调整了一下):
import random
number = random.randint(0,10)
user_number = None
valid_num = [str(i) for i in range(0,10)]
random = 2
while random > 1:
while True:
user_number = input("Enter a number between 1-10: ")
if user_number in valid_num:
user_number = int(user_number)
break
else:
print("Not valid!")
if user_number == number:
print("GREAT! You guessed the right number! :)")
else:
print("AWW! You guessed the wrong number, try again! :)")
答案 0 :(得分:1)
我喜欢使用此代码段,它确保用户回答以下其中一项" 0"," 1"," 2",&# 34; 3" .." 10"或者它一直要求有效的输入。
valid_num = [str(i) for i in range(11)]
while True:
user_number = input("Enter a number between 1-10: ")
if user_number in valid_num:
user_number = int(user_number)
break
else:
print("Not valid!")
现在到完整的代码:
import random
number = random.randint(0,10)
user_number = None
valid_num = [str(i) for i in range(11)]
while user_number != number:
# Ask for user input
while True:
user_number = input("Enter a number between 1-10: ")
if user_number in valid_num:
user_number = int(user_number)
break
else:
print("Not valid!")
# Check if correct guess
if user_number == number:
print("GREAT! You guessed the right number! :)")
else:
print("AWW! You guessed the wrong number, try again! :)")
答案 1 :(得分:0)
代码的最后一行是input()
。所有这一切都需要输入,而不是存储在任何地方。要存储它,您必须将其分配给user_number
,如user_number = input()
。此外,(假设您使用的是Python 3)input()
返回一个字符串,而不是一个数字,因此它永远不会相等。您必须将其转换为user_number = int(input())
答案 2 :(得分:0)
它永远不会说你是正确的,因为while循环说只要输入的数字与随机数不同,它就会执行if循环。 删除while循环应该没问题。 如果你想保留它,你可以将它变成一个函数。
答案 3 :(得分:0)
你必须设计执行块(如果你在时间内必须进行缩进)
除了你的循环变得无限,因为你没有在里面提出问题,你必须把输入放在里面,并设计代码以知道它的起始位置和结束执行块