Обратите внимание, что вы можете легко решить эту проблему, используя встроенные функции. Это более идиоматическое и эффективное решение:
def sum_digits(digit):
return sum(int(x) for x in digit if x.isdigit())
sum_digits('hihello153john')
=> 9
В частности, имейте в виду, что метод is_a_digit()
уже существует для типов строк, он называется isdigit()
.
И весь цикл в функции sum_digits()
может быть выражен более кратко с использованием выражения генератора в качестве параметра для встроенной функции sum()
, как показано выше.