Как проверить является ли строка числом на Python?

Пользователь

от linnea , в категории: Python , 3 года назад

Как проверить является ли строка числом на Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от clifford , 3 года назад

@linnea Вы можете использовать isdigit() функцию в Python, чтобы проверить является ли строка числом, посмотрите пример кода ниже:


1
2
3
4
5
6
7
8
str = "33"

# Вывод: True
print(str.isdigit())

str = "пример123"
# Вывод: False
print(str.isdigit())


Пользователь

от dorothea_stoltenberg , 2 года назад

@linnea 

В Python есть несколько способов проверки, является ли строка числом. Вот несколько примеров:

  1. Метод isnumeric(): метод isnumeric() возвращает True, если все символы в строке являются числовыми символами.
1
2
3
4
5
my_string = "12345"
if my_string.isnumeric():
    print("Строка является числом.")
else:
    print("Строка не является числом.")


  1. Метод isdigit(): метод isdigit() похож на метод isnumeric(), но он возвращает True только если все символы в строке являются цифрами.
1
2
3
4
5
my_string = "12345"
if my_string.isdigit():
    print("Строка является числом.")
else:
    print("Строка не является числом.")


  1. Использование функции try-except: можно попытаться преобразовать строку в число с помощью функции int() или float() и использовать конструкцию try-except для проверки, является ли строка числом.
1
2
3
4
5
6
my_string = "12345"
try:
    num = int(my_string)
    print("Строка является числом.")
except ValueError:
    print("Строка не является числом.")


  1. Регулярные выражения: можно использовать модуль re и регулярные выражения для проверки, содержит ли строка только цифры.
1
2
3
4
5
6
import re
my_string = "12345"
if re.match("^[0-9]+$", my_string):
    print("Строка является числом.")
else:
    print("Строка не является числом.")


Обратите внимание, что последний метод является наиболее гибким, так как с помощью регулярных выражений можно проверять различные форматы чисел (например, с разделителями тысяч, десятичными знаками и т.д.). Однако он также является наиболее сложным в использовании, особенно для начинающих программистов.