Я пытаюсь создать простое меню, используя словарь вместо серии операторов if, elif.Моя проблема в том, что функции вызываются, когда я объявляю их как определение в словаре.Также я сталкиваюсь с ошибкой при попытке вызвать словарь.
Я знаю, что что-то упустил в объявлении.Неважно, что я добавлю в определение: если это исполняемый код, то он выполняется при объявлении, а не когда я его вызываю.
Что касается проблемы с вызовом словаря, то я полностью потерянИз всего, что я прочитал, я считаю, что я делаю это правильно.Я включил слишком упрощенную версию того, что я пытаюсь сделать, которая повторяет проблемы, с которыми я сталкиваюсь.
def hello():
print("Hello")
def goodbye():
print("Goodbye")
options = { '1' : hello(),
'2' : goodbye()}
chosen = '1'
options[chosen]()
Это то, что я получаю при выполнении вышеизложенного.
Hello
Goodbye
Traceback (most recent call last):
File "main.py", line 12, in <module>
options[chosen]()
TypeError: 'NoneType' object is not callable
И я должен просто увидеть это.
Hello