Я довольно новичок в python, и я пытаюсь сделать программу частью проекта. Я пытаюсь заставить программу проверять входные данные пользователей, если это один из ключей словаря.Проверка действительных входов
# dictionary linking month number to month name
months = {1: 'Jan', 2: 'Feb', 3: 'Mar', 4: 'Apr', 5: 'May', 6: 'Jun',
7: 'Jul', 8: 'Aug', 9: 'Sep', 10:'Oct', 11: 'Nov', 12: 'Dec'}
# print out all the numbers and names
for num, name in months.items():
print (str(num) + ": " + name)
monthChosen = input("Enter the number of a month (1-12)")
valid = False
while not valid:
# make sure the user has chosen one of the correct numbers
if monthChosen in months.keys():
valid = True
else:
monthChosen = input("Make sure you enter a number (1-12)")
# return the number (int) of the month chosen
return int(monthChosen)
Однако иногда, когда я вводим действительный номер, он работает, а в других случаях - нет.
EDIT: Я использую Python 3
заменить input() на int (input()) –
Вы используете Python 2 или Python 3? Они отличаются синтаксисом 'print' и результатом' input() '. – deltab
Что происходит, когда он не работает? – deltab