Python随机数游戏默认错误答案

时间:2018-11-25 04:05:30

标签: python

我正在尝试制作一个简单的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

所评论的部分来自于我对其进行测试时是否正在评估任何内容。我对正确答案进行了硬编码,以查看该部分是否有效。奇怪的是它确实起作用了,但是由于某种原因,我无法使其与原始代码一起工作。我可能缺少一些简单的东西。有什么想法吗?

2 个答案:

答案 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())

世界上一切都应该很好。