Я довольно новичок в программировании, и я экспериментировал со словарями на Python. Тем не менее, я только что обновил Python 3.4 и код, который ранее использовался, не работает должным образом после обновления. Я думал, что я очистил все, но теперь мой словарь, кажется, сломан.Использование словаря с пользовательским вводом
Код работает нормально, пока я не попытаюсь вызвать словарь. Ниже приведен пример кода, который ранее работал корректно в Python 2.7:
userPrompt = input("Month: ")
months = {
1: jan,
2: feb,
3: mar,
}
months[userPrompt]()
кажется, есть проблема с этой последней строкой. Нужно ли мне писать словарь по-другому или обращаться к нему по-другому?
пользовательского ввода ** всегда является строкой ** (для изменения между 2.х и 3.х, см HTTPS : //docs.python.org/3/whatsnew/3.0.html#builtins). Либо конвертируйте свои ключи в строки, либо ввод в целые числа. См. http://stackoverflow.com/q/20449427/3001761 – jonrsharpe