Вы не вызываете функцию, которую выбрал пользователь. Вы немедленно вызываете обе функции и помещаете их возвращаемые значения в словарь.
И вы вызываете menu()
рекурсивно без каких-либо условий завершения при вызове select.get()
.
You нужно поместить функции в словарь, а не их возвращаемые значения. Затем вызовите то, что возвращает select.get()
.
И поскольку input()
возвращает строку, вам необходимо использовать строки в качестве ключей в словаре.
def menu():
print("Choose\n1.Log in\n2.Exit")
inum = input()
select = {
'1': login,
'2': exit,
}
select.get(inum, menu)()