Найти - Пользователи
Полная версия: Посчитать сумму всех чисел, которые встречаются в строке.
Начало » Python для новичков » Посчитать сумму всех чисел, которые встречаются в строке.
1
MountainDew
помогите пожалуйста! нужно для зачета решить дофига задач по программированию на Python, а времени вовсем нет . Вот условие:
Посчитать сумму всех чисел, которые встречаются в строке.
FishHook
import re
s=" 1434fdsgfg sf22 3m mm2312kmk 231"
print sum(map(int, re.findall('(\d+)', s)))
MountainDew
а по подробней можно, пожалуйста?
alexbadaloff
Импортируем модуль " для работы с регулярными выражениями":
FishHook
import re

Объявляем и присваиваем переменной s строку (любую):
FishHook
s=“ 1434fdsgfg sf22 3m mm2312kmk 231”

Ищем числа в строке s:
FishHook
re.findall('(\d+)', s)

Переводим найденные числа (str) в int (чтобы числа потом можно было сложить):
FishHook
map(int, re.findall('(\d+)', s))

Суммируем найденные числа:
FishHook
sum(map(int, re.findall('(\d+)', s)))

Выводим на экран:
FishHook
print sum(map(int, re.findall('(\d+)', s)))

P.S. Данный пример для Python2.x, для python3.x нужно c print использовать скобки:
print(sum(map(int, re.findall('(\d+)', s))))
И я с питоном не так давно, так что могу где-нибудь отсебятину написать.
MountainDew
о, все, спасибо, разобралась )
alexbadaloff
Чтот я сомневаюсь.
py.user.next
FishHook
re.findall('(\d+)', s)
re.findall(r'\d+', s)
MountainDew
а не могли бы вы еще указать особенности модуля re и используемой вами функции???
alexbadaloff
MountainDew
а не могли бы вы еще указать особенности модуля re и используемой вами функции???
Легко - http://habrahabr.ru/post/115825/
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB