Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Часто в ходе работы с Python возникает необходимость проверить, является ли строка числовым значением. Например, при обработке пользовательского ввода или при чтении данных из файла. В этих случаях, данные часто представлены в виде строк и могут содержать числовые значения, записанные как строки.
Рассмотрим пример: есть строка ‘123’ и есть необходимость узнать, является ли это число.
s = '123'
Самый простой и распространенный подход для проверки строки на числовое значение в Python — это использование обработки исключений.
Сначала попытаться преобразовать строку в число с помощью функции float()
. Если преобразование прошло успешно, значит строка содержит числовое значение. Если во время преобразования произошла ошибка ValueError
, значит строка не является числом.
def is_number(s): try: float(s) return True except ValueError: return False
Однако, этот подход может показаться немного громоздким, особенно для новичков.
Существует другой способ, который использует регулярные выражения.
import re def is_number(s): if re.match("^\d+?\.\d+?$", s) is None: return s.isdigit() return True
В этом примере используется функция re.match()
, которая проверяет, соответствует ли строка заданному регулярному выражению. В данном случае проверяется, является ли строка числом с плавающей точкой. Если это не так, то с помощью метода isdigit()
проверяется, является ли строка целым числом.
Оба подхода могут быть использованы в зависимости от конкретной ситуации и предпочтений разработчика.
На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.
Добавить комментарий