Разберём решение и сразу накроем его тестами — это хороший стиль работы с кодом.
Задача
Найти сумму цифр натурального числа 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 # и второй случай
Такой минимум уже защищает от случайной ошибки при правках кода.
С добавлением проверок решение становится самодокументируемым — сразу видно, что код делает.
---
Related:
- lulabbyok anal photos and clips with Emma Bailey - Рассматриваем задачу: числа Фибоначчи - dark elf by sana - سكس ميقا سعودي - Logging pipeline runs without noise #jxhlk - Частые ошибки при решении: сумма цифр числа - https://paper.wf/ninabecker85log/yuan-shen-vicineko - Медленно и подробно: сортировка пузырьком - Lisina_free Porn: Ekaterina Lisina Nude Photo Gallery - bd company models - Несколько вариантов решения: наибольший общий делитель - natalie rey - Reina Tejeiro Onlyfans Exclusive Photos and Videos - Типичные ошибки при решении: бинарный поиск - jackerma - Walking through bracket sequence validation - Пошаговый разбор: вычисление факториала - dios dega - سالب ناعم تويتر: صور ومنشورات من حسابات عربية متنوعة - Best Dandy's World R34 Hentai Gallery | Rule 34 Art - la bonita 1000 only fans - Проверяем решение тестами: переворот строки - şeyma mestoğlu ifşa - Jessie Trueman Nude Photos and Exclusive Online Gallery - Медленно и подробно: быстрая сортировка - Типичные ошибки при решении: максимум и минимум списка - r34 miss circle
Kommentit