Как проверить есть ли в строке цифра python
Перейти к содержимому

Как проверить есть ли в строке цифра python

  • автор:

Проверить является ли строка числом в Python

К сожалению функция isdigit не работает для чисел с плавающей точкой и для отрицательных чисел. Так что для такой проверки можно использовать следующую функцию, которая представляет собой комбинацию из проверки isdigit и обычного конвертирования во float:

def is_digit(string): 
if string.isdigit():
return True
else:
try: float(string) return True except ValueError: return False
>>>print(is_digit('neer'))
False

>>>print(is_digit('neer306'))
False

>>>print(is_digit('306'))
True

>>>print(is_digit('0.05'))
True

>>>print(is_digit('0.05abc'))
False

Как проверить строку на предмет цифр?

Author24 — интернет-сервис помощи студентам

Есть вот такой код, если ввести любой символ кроме цифр или = то появляется ошибка преобразования.

Как правильно сделать проверку, на запрещенные символы это все буквы и знаки? Нужно копать в сторону регулярок или есть решения по лучше?

Добавлено через 24 минуты

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
import re chet = 0 non = 0 p = re.compile('[0-9]') while True: i = input('Введите число, для выхода введите = ') if i == '=': break; if p.match(i) == None: print('Введент недопустимый символ') continue; if int(i) % 2 == 0: print('Число четное') chet += 1 else: print('Число нечетное') non += 1 print("Вы ввели четных числе " + str(chet)+ ' Не четных '+str(non))

Пока сделал так, есть более «красивое» решение?

Проверка на число

Достаточно часто требуется узнать: записано ли в переменной число. Такая ситуация может возникнуть при обработке введенных пользователем данных. При чтении данных из файла или при обработке полученных данных от другого устройства.

В Python проверка строки на число можно осуществить двумя способами:

  • Проверить все символы строки что в них записаны цифры. Обычно используется для этого функция isdigit.
  • Попытаться перевести строку в число. В Python это осуществляется с помощью методов float и int. В этом случае обрабатывается возможное исключение.

Рассмотрим как применяются эти способы на практике.

isdigit, isnumeric и isdecimal

У строк есть метод isdigit, который позволяет проверить, являются ли символы, являются ли символы, из которых состоит строка цифрами. С помощью этого метода мы можем проверить, записано ли в строку целое положительное число или нет. Положительное — это потому, что знак минус не будет считаться цифрой и метод вернет значение False.

a = '0251' print(a.isdigit()) True

Если в строка будет пустой, то функция возвратит False.

a = '' print(a.isdigit()) False

Методы строки isnumeric и isdecimal работают аналогично. Различия в этих методах только в обработке специальных символов Unicode. А так как пользователь будет вводить цифры от 0 до 9, а различные символы, например, дробей или римских цифр нас не интересуют, то следует использовать функцию isdigit.

Проверка с помощью исключения

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

Приведем функцию и пример ее использования:

def is_number(str): try: float(str) return True except ValueError: return False a = '123.456' print(is_number(a)) True

Для целых чисел

Аналогично можно сделать и проверку на целое число:

def is_int(str): try: int(str) return True except ValueError: return False a = '123.456' print(is_int(a)) False

Python — как проверить является ли введенный текст числом?

Python - как проверить является ли введенный текст числом

Итак, типовая задача: получаем от пользователя строку, и хотим проверить — является ли введенный текст числом. Можно использовать сложный способ, а можно — простой. Сложный способ выглядит следующим образом: пытаемся сконвертировать введенную строку в число с плавающей запятой. После этого проверяем — если получилось, то строка — число, а если получаем ошибку, то увы — строка не число. В виде кода выглядит это все следующим образом:

number = input('Введите: ') print('Исходное:', number) try: number = float(number) print('Это число') except: print('Это не число!')

Т.е. используем метод обработки исключений(ошибок) try-except (я писал об этом вот тут).

Можно использовать простой метод �� Для этого в Python имеется метод isdigit(), который возвращает True в случае, если строка состоит из цифр (в строке должен иметься минимум один символ), и возвращает False в случае, если строка не содержит цифр.
В виде кода это выглядит следующим образом:

number = input('Введите: ') print('Исходное:', number) print(number.isdigit())

Как видите — все просто �� Как всегда — в случае возникновения вопросов пишите на почту, или в Телеграм.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *