Извлечь цифры
Выходные данные
Требуется вывести новую строку, содержащую только цифры данной строки.
Примеры
входные данные
2+2=4
выходные данные
224
Лучшие ответы ( 2 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Найдите двузначное число, равное сумме цифры его десятков и квадрата цифры единиц
2. Найдите двузначное число, равное сумме цифры его десятков и квадрата цифры единиц.

Дано натуральное число, в котором все цифры различны. Определить порядковый номер его максимальной цифры, считая номера:
Дано натуральное число, в котором все цифры различны. Определить порядковый номер его максимальной.
Извлечь цифры из текстовой строки
Вечер добрый, очень необходима помощь в написании небольшой программы для извлечения цифр из текста.

Вывести на экран N первых двузначных чисел, у которых значение левой цифры больше значения правой цифры на 2
Вывести на экран N первых двузначных чисел, у которых значение левой цифры больше значения.
![]()
5890 / 3348 / 1034
Регистрация: 03.11.2009
Сообщений: 9,977

Сообщение было отмечено klorman как решение
Решение
print(''.join(x for x in input() if x.isdigit()))
170 / 91 / 71
Регистрация: 10.05.2014
Сообщений: 432
1 2 3 4 5 6
s = '2+2=4' digits = [] for symbol in s: if '1234567890'.find(symbol) != -1: digits.append(int(symbol)) print(digits)
2740 / 2339 / 620
Регистрация: 19.03.2012
Сообщений: 8,830

Сообщение было отмечено klorman как решение
Решение
Zodt, зачем выкладывать более длинный и корявый вариант, когда уже есть более красивое решение?
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Извлечь цифры
Дана строка, возможно, содержащая пробелы. Извлеките из этой строки все символы, являющиеся.

Извлечь цифры из строки
Помогите! Необходимо выбрать (в виде списка) из текста все числа. Нужно сделать при помощи цикла.

Извлечь цифры из номера варианта
Добрый день! Делаю страницу для решения РГР студентами. Есть варианты от 0000 до 9999, а в.

Извлечь цифры из большого текста
пожалуйста помогите извлечь цифры из текста который приведен в примере excel Извлекаемые цифры.
Извлечь цифры из ячейки с текстом
Как извлечь цифры от слов в одной ячейке в таблице exel по формуле, например артикул и название в.
Извлечь цифры из ячейки с текстом
Доброго дня. Прошу помощи, ибо голову уже сломал. Задача — вытащить цифры из ячейки в которой.
Извлечь из строки числа
Дана строка, содержащая натуральные числа и слова. Необходимо сформировать список из чисел, содержащихся в этой строке. Например, задана строка «abc83 cde7 1 b 24». На выходе мы должны получить список [83, 7, 1, 24].
Решение задачи на языке программирования Python
Следует посимвольно перебирать строку. Если очередной символ цифра, надо добавить ее в новую строку. Далее проверять символы за ней, и если они тоже цифры, то добавлять их в конец этой новой подстроки из цифр. Когда очередной символ окажется не цифрой, или будет достигнут конец строки, то надо преобразовать строку из цифр в число и добавить в список.
s = input() length = len(s) integers = [] i = 0 # индекс текущего символа while i length: s_int = '' # строка для нового числа while i length and '0' s[i] '9': s_int += s[i] i += 1 i += 1 if s_int != '': integers.append(int(s_int)) print(integers)
5 dkfj78df 9 8 dkfj8 [5, 78, 9, 8, 8]
Обратите внимание, что данное решение извлекает именно числа, а не цифры. Иначе мы бы не получили число 78, а получили отдельно цифру 7 и цифру 8. Задача на извлечение цифр существенно проще.
Решение через цикл for:
a = input() num_list = [] num = '' for char in a: if char.isdigit(): num = num + char else: if num != '': num_list.append(int(num)) num = '' if num != '': num_list.append(int(num)) print(num_list)
Если в строке числа всегда отделены от слов пробелами, задача решается проще:
s = input() word_list = s.split() num_list = [] for word in word_list: if word.isnumeric(): num_list.append(int(word)) print(num_list)
Здесь происходит разделение строки на слова по пробелам. В цикле с помощью метода isnumeric каждое слово проверяется, является ли оно числом. Подобную задачу можно решить в одну строку, если использовать функцию filter .
s = input() word_list = s.split() num_list = [int(num) for num in filter( lambda num: num.isnumeric(), word_list)] print(num_list)
В функцию filter передается лямбда-выражение, проверяющее слова, и список слов. Функция возвращает список строк-чисел. Далее с помощью генератора списка строки преобразовываются в целочисленный тип.
На практике при решении подобных задач, когда надо найти и извлечь из строки что-либо, обычно пользуются регулярными выражениями. В примере ниже не обязательно, чтобы число было отделено пробелами.
import re s = input() nums = re.findall(r'\d+', s) nums = [int(i) for i in nums] print(nums)
Для поиска вещественных чисел:
import re s = input() nums = re.findall(r'\d*\.\d+|\d+', s) nums = [float(i) for i in nums] print(nums)
X Скрыть Наверх
Решение задач на Python
как из списка «достать» только числа
Для ваших задач отлично подойдёт стандартная функция filter :
>>> my_list = [1,'два',3,4,5,6,7,8,9,'ноль'] >>> list(filter(lambda x: type(x) is int, my_list)) [1, 3, 4, 5, 6, 7, 8, 9] >>> result = list(filter(lambda x: type(x) is int, my_list)) >>> print(result if result else "нет там никаких цифр") [1, 3, 4, 5, 6, 7, 8, 9]
Чтобы вывести числа так, как задумываете вы, можно использовать такой код:
my_list = [1,'два',3,4,5,6,7,8,9,'ноль'] result = filter(lambda x: type(x) is int, my_list) if result: print(*result, sep="\n") else: print("нет там никаких цифр")
1 3 4 5 6 7 8 9
Выбрать числа из строки

Задана строка, состоящая из букв и цифр. Извлечь из строки числа (не цифры) и вывести их на экран.
# исходная строка 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
Похожие записи:
- Эффективный ввод-вывод в разных языках программирования
- В матрице найти строку и столбец с максимальными суммами элементов
- Оперативная память и представление данных
- Регулярные выражения
Добавить комментарий Отменить ответ
Эта книга является вашим путеводителем по JavaScript, охватывающим лучшие практики для написания чистого и
Эта книга о том, как продвигать большие сложные проекты. Здесь рассмотрено SEO в самом
Курс знакомит с теоретическим наследием в области медиа, обучает основным подходам к теоретическому анализу
Курс знакомит с теоретическим наследием в области медиа, обучает основным подходам к теоретическому анализу
Курс знакомит с теоретическим наследием в области медиа, обучает основным подходам к теоретическому анализу
Курс знакомит с теоретическим наследием в области медиа, обучает основным подходам к теоретическому анализу
Курс знакомит с теоретическим наследием в области медиа, обучает основным подходам к теоретическому анализу
