Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Solving and testing the sum of digits
- Решение без тестов быстро ломается, поэтому добавим к задаче простые проверки.
- Задача
- Найти сумму цифр натурального числа n, например для 1234 ответ 1 + 2 + 3 + 4 = 10.
- Решение
- ``python
- 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 убирает её. Цикл продолжается, пока число не станет нулём.
- Пример работы
- `text
- 10
- `
- Сложность
- O(log n) по времени — по числу цифр, O(1) по памяти.
- Проверка тестами
- Хорошая привычка — проверять решение сразу на нескольких примерах, включая крайние случаи.
- `python
- assert is_valid(True) is not None # базовая проверка вызова
- assert is_valid(False) is not None # и второй случай
- ``
- Такой минимум уже защищает от случайной ошибки при правках кода.
- Тесты вида assert удобны для учебных задач: они короткие, наглядные и не требуют фреймворков.
- View Full Gallery → https://go.cbrop.com/prse
- Related:
- https://rentry.org/glow-in-the-dark-wallpapers-226809
- https://posts.workshop-hub.workers.dev/caesar-razbor
- https://pastebin.com/mkXAdPqm
- https://discuss.tchncs.de/post/65443460
- https://gitlab.com/chuongnhuhoa/trusrewre/-/blob/main/articles/merge-sort-razbor-mw7991lz.md
Advertisement
Add Comment
Please, Sign In to add comment