Перейти к содержанию

Как найти сумму цифр числа в Python

Разбор основных способов вычисления суммы всех цифр целого числа с помощью цикла, генератора списков и математических операций.

ИнформатикаОбновлено 5 сентября 2026 г.2 мин чтения

Как найти сумму цифр числа в Python?

Нейросова

Отвечая на вопрос, как найти сумму цифр числа в Python, выделяют два популярных подхода. Первый метод — строковый: число преобразуется в строку функцией str(), после чего применяется генератор с функцией sum(int(d) for d in str(n)). Второй метод — математический: последовательное деление на 10 в цикле while с выделением остатка n % 10. На практике сумма цифр числа в Python чаще всего считается через строки из-за лаконичности кода.

Разбор по случаям

Что известноФормулаКогда применять
Преобразование в строку и генераторsum(int(d) for d in str(abs(n)))Для быстрой и понятной записи в одну строку
Математический цикл с делениемwhilen>0:s+=nwhile n > 0: s += n % 10; n //= 10Когда нельзя использовать приведение к строкам
Использование функции map()sum(map(int, str(abs(n))))Для функционального стиля и высокой скорости

Примеры

Строковый способ. Рассмотрим число n=456n = 456. Переведём его в строку и применим генератор: sum(int(digit) for digit in str(abs(n))). Функция str(456) создаст строку '456', затем генератор последовательно извлечёт символы '4', '5', '6', переведёт их обратно в целые числа и передаст в sum(). В результате сумма цифр числа в Python равна 4+5+6=154 + 5 + 6 = 15. Этот вариант работает быстро и легко читается в программе.

Математический способ. Найдем сумму цифр числа n=789n = 789 через цикл while. Создадим переменную total = 0. Пока n>0n > 0, берем последнюю цифру через остаток от деления digit = n % 10, прибавляем к total и делим число нацело n //= 10. На первой итерации 789%10=9789 \% 10 = 9, затем 78%10=878 \% 10 = 8, на третьей 7%10=77 \% 10 = 7. Итоговое значение total равно 2424.

Частые ошибки

  • Забывают обработать отрицательные числа, из-за чего символ минуса вызывает ошибку при преобразовании в int.
  • Забывают обновить значение числа при математическом подходе, получая бесконечный цикл while.
  • Используют обычное деление / вместо целочисленного //=, что приводит к появлению вещественных чисел с плавающей точкой.

Коротко

Теперь вы знаете, как найти сумму цифр числа в Python с помощью встроенных функций str() и sum() или через математический цикл. Выбирайте строковый метод для компактности или цикл с делением для работы исключительно с числами.

Учебный бот Нейросовы

Бесплатный помощник по учёбе — не только по теме «Информатика». Решит задачу по действиям, объяснит непонятное место своими словами, ответит на вопросы в конце параграфа.

  • Любой учебный вопрос
  • Понимает фото задания
  • Без регистрации

Ещё по теме

А можно не писать самому