如果阻止,程序将不会进入

时间:2018-05-03 03:54:01

标签: python dictionary

我正在尝试制作一个基于文本的游戏,使用词典作为" case switch"块(我从这个网站上学到的)。我不是那个角色。但是,我想知道为什么以下代码不会在game_main()语句中执行if

缩小到问题为ans == 1,但在比较之前输入1并打印出来时,它会跳过if并转到else语句每次。

所以,我认为问题在于我不知道变量ans是什么变量类型,我需要将它转换为某种类型。或者,我需要强制用户使用某种类型的输入...或者你们都比我更聪明,并且可能有一种很棒的方法来解决这个问题!

我是python的新手,真的只懂java。

print ("Welcome to _________!")
ans = input("1. Start\n2. How to play\n3. Not now (exit)\n\n")

print ("\nYou have entered " + ans) 

try:
    if (ans == 1 or ans == "1"):
        game_main()
    elif (ans == 2):
        print (dict_startmenu[2])
    elif (ans == 3):
        print (dict_startmenu[3])
    else:
        print("*****else block")

except Exception as e:
    print("fatal error in start block")

1 个答案:

答案 0 :(得分:0)

输入1,2或3

时应定义整数
ans = int(input("1. Start\n2. How to play\n3. Not now (exit)\n\n "))
打印出来:

print ("\nYou have entered "), ans

然后:

if (ans == 1):