Наглядная демонстрация
Запросим строку:
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()
будет упорно запрашивать ввод до тех пор, пока не получит корректный вариант.
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('Действие выполнено!')