#python #linux
#python #linux
Вопрос:
У меня есть печатное меню с несколькими опциями:
choice = input("Which task do you want to perform?:
1. Task a
2. Task b
3. Task c
Enter your choice: ")
Как только пользователь сделает выбор, я хочу распечатать:
verify = input("Proceed with Task a? [(Y)es/(N)o]":)
Как мне получить значение, когда пользователь выбирает число, не используя операторы if?
Пример: пользователь выбирает 1, как мне напечатать «Задачу a» без использования операторов if?
Ответ №1:
Я не уверен, возражаете ли вы против использования модуля, но рассматривали ли вы возможность использования PyInputPlus?
Это модуль, который обрабатывает подобные вещи; в частности, я думаю, что функция inputMenu() будет очень хорошо работать для вашего случая.
import pyinputplus as pyip
choice = pyip.inputMenu(['Task A', 'Task B', 'Task C'], numbered = True)
Output:
Please select one of the following:
1. Task A
2. Task B
3. Task C
print(choice)
Это помогает позаботиться о операторах if, которые вам понадобились бы в противном случае, и вы можете просто распечатать переменную выбора позже.
Ответ №2:
один из способов преобразования ввода строки в int выглядит так:
choice = int(input("Which task do you want to perform?:n1. Task a n2. Task b
n3. Task c nEnter your choice: "))