Python随机数游戏默认为错误的ans

2024-04-25 06:19:28 发布

您现在位置: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

评论的部分来自我测试它的时候,看它是否在评估任何东西。我硬编码了一个正确的答案,看看那部分是否行得通。奇怪的是,它确实工作,但出于某种原因,我不能让它与原来的代码。我可能错过了一些简单的东西。有什么想法吗


Tags: 答案代码标记youinputif错误random
2条回答

input将返回一个字符串。因此,它永远不会等于任何int

您可以将随机整数转换为字符串

var1 = str(random.randint(1, 10))

或者将用户输入从字符串转换为整数

varans = int(input())

世界上的一切都应该是美好的

我认为代码的问题在于,您将int与字符串进行比较。要解决这个问题,您可以执行varans = int(input())var1 = str(random.randint(1, 10))。干杯

相关问题 更多 >