Валидация типа ввода
На этом этапе вы научитесь валидировать тип ввода, чтобы убедиться, что пользователь вводит целое число. Это важно, потому что функция int()
вызовет исключение ValueError
, если ввод не может быть преобразован в целое число (например, если пользователь вводит текст).
Для обработки возможных ошибок вы будете использовать блок try-except
. Это позволяет вам элегантно обрабатывать исключения и предотвратить аварийное завершение программы.
Откройте файл odd_numbers.py
в редакторе VS Code и замените существующий код следующим:
try:
number = int(input("Enter an integer: "))
if number % 2 == 0:
print(number, "is an even number.")
else:
print(number, "is an odd number.")
except ValueError:
print("Invalid input. Please enter an integer.")
Вот разбор этого кода:
try:
: В этом блоке находится код, который может вызвать исключение.
number = int(input("Enter an integer: "))
: Эта строка пытается преобразовать ввод пользователя в целое число. Если ввод не является допустимым целым числом, будет вызвано исключение ValueError
.
if number % 2 == 0:
и else:
: Эти строки аналогичны предыдущему этапу и проверяют, является ли число четным или нечетным.
except ValueError:
: Этот блок перехватывает исключение ValueError
, если оно было вызвано в блоке try
.
print("Invalid input. Please enter an integer.")
: Эта строка выводит сообщение об ошибке, если пользователь вводит недопустимые данные.
Сохраните файл odd_numbers.py
.
Теперь запустите скрипт с помощью команды python
в терминале:
python odd_numbers.py
Скрипт попросит вас ввести целое число. Введите abc
и нажмите Enter:
Enter an integer: abc
Вы должны увидеть следующий вывод:
Invalid input. Please enter an integer.
Запустите скрипт еще раз и введите 7.5
:
python odd_numbers.py
Вы должны увидеть следующий вывод:
Invalid input. Please enter an integer.
Запустите скрипт еще раз и введите 11
:
python odd_numbers.py
Enter an integer: 11
11 is an odd number.
Это демонстрирует, как валидировать тип ввода и обрабатывать возможные ошибки с использованием блока try-except
. Это важный навык для написания надежных и удобных для пользователя программ.