3 способа найти сумму цифр числа в Python

Статьи
Введение
В данной статье разберём 3 способа найти сумму цифр числа в языке программирования Python.
Использование цикла for
Для начала создадим переменную number, в которой будет храниться число, сумму цифр которого нужно посчитать. Также создадим переменную равную нулю:
Создадим цикл, в котором благодаря функции str() преобразуем наше число в строку, и поэлементно пройдёмся по ней. Внутри цикла во время каждой итерации будем прибавлять итерабельное значение к переменной sum_digits:
Использование цикла while
В данном способе у нас также будет присутствовать переменная sum_digits равная нулю:
Создадим цикл while, который не закончит свою работу, пока number > 0. Внутри цикла к переменной sum_digits будем прибавлять последнюю цифру нашего числа, после чего путём целочисленного деления убирать его:
Осталось вывести результат:
Использование рекурсии
Для начала создадим функцию, которую назовём sum_digits(). В качестве параметра укажем n. Внутри неё зададим условие, что если n равна нулю, то возвращаем её. Если же условие не сработало, то возвращаем сумму последней цифры числа, и рекурсивный вызов функции с её отбрасыванием путём целочисленного деления:
Вызовем функцию и передадим в неё число:
Также можно сократить условие внутри функции используя тернарный оператор:
Заключение
В ходе статьи мы с Вами разобрали 3 способа найти сумму цифр числа в языке программирования Python.Надеюсь Вам понравилась статья, желаю удачи и успехов!
Найти сумму цифр числа в Python
Для изучения базовых конструкций языка Python преподаватели обычно всегда предлагают простые и понятные задачи школьного уровня. Но, не смотря на это, такие задачи полезны и учат не только языку, но и умению реализовывать алгоритмы. Рассмотрим тут одну из таких задач.
Рассмотрим несколько вариантов решения этой задачи. Простейший и самій очевидный способ решения задачи состоит в том, чтобы получить каждую из цифр, составляющих данное число. Для этого последовательно будем делить исходное число n на 10 нацело (находит разряды числа). Деление будем выполнять в цикле, в котором сразу же и будем накапливать требуемую сумму цифр — suma, а также запоминать результат деления для новой итерации цикла в ту же переменную n. Деление (цикл) продолжается пока число n не достигнет нулевого значения.
Но, можно обойтись и без деления. Для этого заданное число n преобразуем в строку s, а затем переберем в цикле последовательно все символы (цифры) этой строки. Но, чтобы их можно было сложить, они должны быть преобразованы в числовые значения — int(c). И дальше остается только воспользоваться функцией sum(), чтобы сложить эти все цифры и получить сумму цифр числа — suma.
Но, нам этого мало и мы идем дальше. А можно ли при решении этой задачи избавиться от цикла. Попробуем. Решение будет похоже на предыдущее, но цикл заменим встроенной функцией map() применяемой к каждому элементу некоторого объекта. В нашем случае это символы строки str(n), полученной преобразованием исходного числа в строку и ее составляющих символов в целые числа.
Если код этого примера не совсем понятен, то проще будет понять следующий код — там используем преобразование числа в список из цифр и дальше проходимся по нему функцией map()