🔍 Как проверить в Python, является ли строка числом? 🧮
В питоне можно проверить, является ли строка числом, используя функцию isdigit()
. Вот пример:
def is_number(string):
return string.isdigit()
string = "123"
result = is_number(string)
print(result) # Выведет True
string = "abc"
result = is_number(string)
print(result) # Выведет False
Детальный ответ
Как в Python проверить, является ли строка числом?
В Python есть несколько способов проверить, является ли строка числом. В данной статье мы рассмотрим несколько подходов и приведем примеры кода для каждого из них.
1. Метод isnumeric()
Один из самых простых способов проверить, является ли строка числом, - это использовать метод isnumeric()
.
Данный метод возвращает True, если все символы в строке являются цифрами, иначе возвращает False.
def check_numeric(string):
return string.isnumeric()
# Примеры использования
print(check_numeric("12345")) # True
print(check_numeric("12.34")) # False
print(check_numeric("-123")) # False
print(check_numeric("abc")) # False
2. Метод isdigit()
Также можно воспользоваться методом isdigit()
для проверки, являются ли все символы строки числами.
Он возвращает True, если все символы являются десятичными цифрами, иначе возвращает False.
def check_digit(string):
return string.isdigit()
# Примеры использования
print(check_digit("12345")) # True
print(check_digit("12.34")) # False
print(check_digit("-123")) # False
print(check_digit("abc")) # False
3. Обработка исключения ValueError
Третий способ заключается в попытке преобразования строки в число и обработке исключения ValueError
.
Если в результате преобразования произошла ошибка, значит, строка не является числом.
def try_conversion(string):
try:
float(string)
return True
except ValueError:
return False
# Примеры использования
print(try_conversion("12345")) # True
print(try_conversion("12.34")) # True
print(try_conversion("-123")) # True
print(try_conversion("abc")) # False
4. Регулярные выражения
Если вам необходимо более сложное правило для определения чисел, можно воспользоваться регулярными выражениями. Например, следующий шаблон проверяет, соответствует ли строка числу:
import re
def check_regex(string):
pattern = r'^[-+]?[0-9]*\.?[0-9]+$'
return bool(re.match(pattern, string))
# Примеры использования
print(check_regex("12345")) # True
print(check_regex("12.34")) # True
print(check_regex("-123")) # True
print(check_regex("abc")) # False
5. Метод isdecimal()
Наконец, метод isdecimal()
проверяет, содержит ли строка только десятичные цифры. Если это так,
метод возвращает True, в противном случае - False.
def check_decimal(string):
return string.isdecimal()
# Примеры использования
print(check_decimal("12345")) # True
print(check_decimal("12.34")) # False
print(check_decimal("-123")) # False
print(check_decimal("abc")) # False
Теперь, у вас есть несколько способов проверить, является ли строка числом в Python. Выберите вариант, который наиболее подходит для вашей конкретной задачи и используйте его в своем коде.