Обработка строки, которую невозможно преобразовать в число в Python: методы и примеры кода

  1. Метод: использование обработки исключений

    try:
       number = int(string)
    except ValueError:
       print("Error: String is not a number.")

    Этот код пытается преобразовать строку в целое число с помощью функции int(). Если преобразование завершается неудачно, возникает ошибка ValueError, указывающая, что строка не является числом.

  2. Метод: использование регулярных выражений

    import re
    if re.match(r'^-?\d+\.?\d*$', string):
       number = float(string)
    else:
       print("Error: String is not a number.")

    Этот код использует регулярные выражения для проверки соответствия строки шаблону числа. Если это так, строка преобразуется в число с плавающей запятой с помощью функции float(). В противном случае отображается сообщение об ошибке.

  3. Метод: использование метода isdigit()

    if string.isdigit():
       number = int(string)
    else:
       print("Error: String is not a number.")

    Метод isdigit()проверяет, все ли символы в строке являются цифрами. Если да, строка преобразуется в целое число с помощью функции int(). В противном случае отображается сообщение об ошибке.

  4. Метод: использование пользовательской функции

    def is_number(string):
       try:
           float(string)
           return True
       except ValueError:
           return False
    if is_number(string):
       number = float(string)
    else:
       print("Error: String is not a number.")

    В этом подходе определяется пользовательская функция is_number(), которая проверяет, можно ли преобразовать строку в число с плавающей запятой. Если это возможно, строка преобразуется с помощью float(). В противном случае выводится сообщение об ошибке.