试图创建一个简单的基于骰子的游戏

时间:2015-12-31 20:07:19

标签: python python-3.x dice

我试图创建一个简单的切块基础游戏,用户选择一个数字,如果程序滚动,他们就赢了。问题在于,即使我赢了,该计划也会说,“哦,不,你输了!”#34;我无法理解为什么。求救!

    chosennumber = ("The dice rolled the number")
    user_text = "Choose a number between 1-6"
    print (user_text)
    number = input('Enter a number: ')
    import random
    mylist = [1,2,3,4,5,6]
    randomnum = random.choice(mylist)
    print (chosennumber, randomnum)
    if (number == randomnum):
        print ("You win")

    else:
        print ("Oh no, you lose!")

1 个答案:

答案 0 :(得分:2)

问题是“number”变量是一个字符串,“input”总是返回一个字符串,而在你的“if”中你将一个字符串与一个总是会返回false的数字进行比较。您可以使用类型(数字)进行检查。要解决此问题,您必须使用int(数字)将输入转换为整数。

此外,您可以更清楚您的代码。将导入放在开头,尽量不要创建不必要的变量。如上所述,您可以避免列表使用随机生成1到6之间的数字

import random
chosennumber = ("The dice rolled the number")
print ("Choose a number between 1-6")
number = input('Enter a number: ')
randomnum = random.randint(1,6)
print (chosennumber, randomnum)
if (int(number) == randomnum):
    print ("You win")
else:
    print ("Oh no, you lose!")