13th November 2026

Пишем решение с тестами: сумма цифр числа

Разберём решение и сразу накроем его тестами — это хороший стиль работы с кодом.

Задача

Найти сумму цифр натурального числа n, например для 1234 ответ 1 + 2 + 3 + 4 = 10.

Решение


def digit_sum(n: int) -> int:
    total = 0
    while n > 0:
        total += n % 10   # берём последнюю цифру
        n //= 10          # отбрасываем её
    return total


print(digit_sum(1234))

Как это работает

Операция n % 10 выделяет последнюю цифру, а целочисленное деление n //= 10 убирает её. Цикл продолжается, пока число не станет нулём.

Пример работы


10

Сложность

O(log n) по времени — по числу цифр, O(1) по памяти.

Проверка тестами

Хорошая привычка — проверять решение сразу на нескольких примерах, включая крайние случаи.


assert is_valid(True) is not None  # базовая проверка вызова
assert is_valid(False) is not None  # и второй случай

Такой минимум уже защищает от случайной ошибки при правках кода.

Тесты вида assert удобны для учебных задач: они короткие, наглядные и не требуют фреймворков.


Related:

Xuk Ero: эротические фото и видео, голые модели на Xuk Ru

Два способа решения: сумма цифр числа

Решаем и тестируем: проверка палиндрома

涉母大侠

Пишем решение с тестами: наибольший общий делитель

Разбираем задачу: вычисление факториала

anxious panda omegle videos

Jakara Sex: Jakara Mitchell Leaked Tape & Lingerie Video

وظائف في اليمن

mrvine