Одной из распространенных проблем, с которой сталкиваются разработчики при работе с Python, является получение корректного ввода от пользователя. Для примера рассмотрим следующий код:
age = int(input("Введите ваш возраст: ")) if age >= 18: print("Вы можете голосовать на выборах!") else: print("Вы не можете голосовать на выборах.")
Данный код будет работать корректно, пока пользователь вводит числа. Однако, если пользователь введет что-либо другое, например, строку или символ, программа выдаст ошибку и завершится.
Это произойдет из-за того, что функция int()
пытается преобразовать введенные данные в число, но не может сделать это, если данные не представляют собой число.
Чтобы избежать такой ситуации, можно использовать цикл while
и обработку исключений. Вот как это можно сделать:
while True: try: age = int(input("Введите ваш возраст: ")) if age >= 18: print("Вы можете голосовать на выборах!") else: print("Вы не можете голосовать на выборах.") break except ValueError: print("Извините, я не понял вас. Попробуйте снова.")
В этом случае, если пользователь введет некорректные данные, программа выдаст сообщение об ошибке и попросит ввести данные снова, а не завершится с ошибкой. Цикл while True
будет повторяться до тех пор, пока пользователь не введет корректные данные и break
не прервет его.
Таким образом, с помощью цикла while
и обработки исключений можно обеспечить получение корректного ввода от пользователя в Python.
Добавить комментарий