Я пытаюсь создать текстовую игру, в которой словари используются в качестве блоков "переключения регистра" (о чем я узнал на этом сайте). Я не в этой части. Однако мне интересно, почему этот код ниже не будет выполняться 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")