как посчитать сумму цифр в строке

Дана строка, элементами которой является любые символы, как посчитать сумму цифр в строке

поправте код

str1=str(input())
print(str1)
k=0
for elem in str1:
    if elem>="0" and elem<="9":
        k=k+1
        print(elem)
print("k=" ,k)

Ответы (2 шт):

Автор решения: Danis

Вам нужно проверить можно ли из символа сделать число, это делается так:

elem.isdigit()

вам надо найти сумму а не количество:

k = k + 1

поменяйте на:

k += int(elem) 

код должен быть таким:

str1=str(input())
print(str1)
k=0
for elem in str1:
    if elem.isdigit():
        k += int(elem)
        print(elem)
print("k=" ,k)
→ Ссылка
Автор решения: Edward Grachev
import re
a = input('')
digits = re.findall("\d", a)
if not digits:
    print('Цифры не найдены')
else:
    print(eval('+'.join(digits)))
→ Ссылка