我试图制作一个简单的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
评论的部分来自我测试它的时候,看它是否在评估任何东西。我硬编码了一个正确的答案,看看那部分是否行得通。奇怪的是,它确实工作,但出于某种原因,我不能让它与原来的代码。我可能错过了一些简单的东西。有什么想法吗
input
将返回一个字符串。因此,它永远不会等于任何int
您可以将随机整数转换为字符串
或者将用户输入从字符串转换为整数
世界上的一切都应该是美好的
我认为代码的问题在于,您将int与字符串进行比较。要解决这个问题,您可以执行
varans = int(input())
或var1 = str(random.randint(1, 10))
。干杯相关问题 更多 >
编程相关推荐