我正在尝试制作一个简单的Python程序,要求用户猜测1到10之间的数字,并利用python中的randint函数。 起初,一切似乎都很棒,可以肯定地将错误答案标记为错误,但是当我不断尝试查看排列时,它便将正确答案标记为错误。
代码如下:
import random
cont = True
while cont:
var1 = random.randint(1, 10)
#var1 = 6
print("Pick a number between One and Ten")
varans = input()
#varans = 6
if varans == var1:
print("The right answer was...")
print(var1)
print("Your Answer was...")
print(varans)
print("You chose wisely. You win!")
elif varans != var1:
print("The right answer was...")
print(var1)
print("Your Answer was...")
print(varans)
print("Sorry, You lose!")
print("Do you want to continue?")
choice = input()
choice = choice.lower()
if choice != "y":
cont = False
所评论的部分来自于我对其进行测试时是否正在评估任何内容。我对正确答案进行了硬编码,以查看该部分是否有效。奇怪的是它确实起作用了,但是由于某种原因,我无法使其与原始代码一起工作。我可能缺少一些简单的东西。有什么想法吗?
答案 0 :(得分:0)
我相信您代码的问题在于您正在将int与字符串进行比较。要解决此问题,您可以执行varans = int(input())
或var1 = str(random.randint(1, 10))
。干杯。
答案 1 :(得分:0)
input
将返回一个字符串。因此,它永远不会等于任何int
。
您可以将随机整数转换为字符串
var1 = str(random.randint(1, 10))
或将用户输入的内容从字符串转换为整数
varans = int(input())
世界上一切都应该很好。