Выбрать числа из строки

Задана строка, состоящая из букв и цифр. Извлечь из строки числа (не цифры) и вывести их на экран.

# исходная строка
s = input()

# длина строки
l = len(s)

# индекс первого элемента строки
i = 0

# Пока индекс меньше длины:
while i < l:

    # Создадим пустую переменную для
    # хранения очередного числа.
    num = ''

    # Извлечем текущий символ строки.
    symbol = s[i]

    # Этот цикл выполняется, только если
    # очередной символ является цифрой.
    while symbol.isdigit():

        # Добавим символ в конец значения
        # переменной num.
        num = num + symbol

        # Перейдем к индексу
        # следующего символа.
        i += 1

        # Если индекс выходит за пределы строки,
        # то цикл надо прервать.
        # Если же мы находимся внутри строки,
        # то следует извлечь очередной символ,
        # который будет проверяться
        # в следующей итерации внутреннего цикла,
        # является ли он цифрой.
        if i < l:
            symbol = s[i]
        else:
            break

    # Если переменная num не пуста, то в ней
    # содержится строковое представление числа.
    # При желании эту строку можно преобразовать
    # к числу с помощью функции int().
    if num != '':
        print(num)

    # Переход к индексу следующего символа.
    i += 1




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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: