Обрабатывайте ввод как строку, связывайте команды с функциями и завершайте цикл по пункту 4. Неизвестный ввод должен давать понятное сообщение.
Консольное меню выбора операции
Обрабатывайте ввод как строку, связывайте команды с функциями и завершайте цикл по пункту 4. Неизвестный ввод должен давать понятное сообщение.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Реализуйте программу на Python, которая:
- выводит список доступных команд с их номерами;
- запрашивает у пользователя ввод номера выбранной команды;
- в зависимости от введённого номера выполняет соответствующее действие (реальную логику можно заменить простыми выводами через
print). Пример меню:
Выберите команду:
- Показать список пользователей
- Добавить нового пользователя
- Удалить пользователя
- Выйти
Введите номер команды:
После ввода программа должна выполнить действие, соответствующее выбранному пункту.
Ответ
Обрабатывайте ввод как строку, связывайте команды с функциями и завершайте цикл по пункту 4. Неизвестный ввод должен давать понятное сообщение.
def main():
actions = {
'1': lambda: print('Показ списка пользователей'),
'2': lambda: print('Добавление пользователя'),
'3': lambda: print('Удаление пользователя'),
}
while True:
print('1. Список\n2. Добавить\n3. Удалить\n4. Выйти')
try:
choice = input('Введите номер команды: ').strip()
except (EOFError, KeyboardInterrupt):
break
if choice == '4':
break
action = actions.get(choice)
if action is None:
print('Неизвестная команда')
else:
action()
if __name__ == '__main__':
main()
Строковые ключи избавляют от исключения при нечисловом вводе. Действия являются разрешёнными условием демонстрационными заменами; реальная логика добавляется в отдельные функции.