Наглядная демонстрация

Запросим строку:

from pyinputplus import inputStr

name = inputStr('Введите имя: ')

Вроде бы выглядит так же, как и обычный input(), ничего особенного. Но попробуйте несколько раз ввести пустую строку, и вы увидите следующее:

Введите имя: 
Blank values are not allowed.
Введите имя:
Blank values are not allowed.
Введите имя: Вася

Если пользователь вводит пустую строку, то inputStr() автоматически выводит сообщение об ошибке и повторно запрашивает ввод.

Запрос данных в конкретном формате

Целое число

from pyinputplus import inputInt

age = inputInt('Введите возраст: ')

Попробуйте ввести что-нибудь, что не является целым числом. Функция inputInt() будет упорно запрашивать ввод до тех пор, пока не получит корректный вариант.

Email

from pyinputplus import inputEmail

email = inputEmail('Введите email: ')

Регулярное выражение

Пусть это будет слово, в котором первая буква будет находиться в диапазоне [А-Я], а затем будет идти не меньше 1 буквы в диапазоне [а-я].

from pyinputplus import inputRegex

name = inputRegex('[А-Я][а-я]+', prompt='Введите имя: ')

Время в формате «ЧЧ:ММ» или «ЧЧ:ММ:СС»

from pyinputplus import inputTime

time = inputTime('Введите время: ')

Выбор из нескольких вариантов

from pyinputplus import inputMenu

action = inputMenu(
    [
        'Получить посылку',
        'Отправить посылку',
        'Задать вопрос',
    ],
    prompt='Выберите действие:\n'
)

«Да/нет»

Поддерживаются ответы «Yes», «No», «Y», «N» в любом регистре.

from pyinputplus import inputYesNo

answer = inputYesNo('Выполнить действие? ')
if answer == 'yes':
    print('Действие выполнено!')