我正在尝试制作一个基于文本的游戏,使用词典作为" 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")
答案 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):