Как проверить есть ли цифра в строке на Python?

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

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

Как проверить есть ли цифра в строке на Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от carlo.cummerata , 3 года назад

@hoyt.jerde Вы можете использовать any() функцию и затем проверить каждый символ функцией isdigit() является ли символ цифрой или нет, посмотрите пример небольшой ниже:


1
2
3
4
5
# Вывод: False
print(any(c.isdigit() for c in "тест"))

# Вывод: True
print(any(c.isdigit() for c in "тест123"))


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

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

@hoyt.jerde 

Чтобы проверить, есть ли цифра в строке на Python, можно использовать метод isdigit(), который возвращает True, если все символы в строке являются цифрами. Однако, этот метод не учитывает знаки пунктуации или пробелы.


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


Вот примеры кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# Использование метода isdigit()
string = "abc123"
if string.isdigit():
    print("Строка состоит только из цифр")
else:
    print("Строка содержит не только цифры")

# Использование метода any() и генератора списков
string = "abc123"
if any(char.isdigit() for char in string):
    print("Строка содержит цифры")
else:
    print("Строка не содержит цифры")


Второй пример можно сократить до одной строки, используя встроенную функцию any() вместо условного оператора:

1
2
string = "abc123"
print("Строка содержит цифры" if any(char.isdigit() for char in string) else "Строка не содержит цифры")