Как получить выбранное пользователем значение из печатного меню с помощью python?

#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: "))