Sum of digits
A checksum routine needs the digits of a number added together.
- Negative input uses its digits too: -204 sums to 6.
- The digits of 0 sum to 0.
digit_sum(amount: int) → int
Where you start
def digit_sum(amount: int) -> int:
Worked examples
| Call | Result |
|---|---|
digit_sum(0) | 0 |
digit_sum(7) | 7 |
digit_sum(1234) | 10 |
digit_sum(-204) | 6 |
Hint
Take the absolute value first, then peel digits off with % 10 and / 10.
Reference solution in Python
def digit_sum(amount: int) -> int:
x = abs(amount)
total = 0
while x > 0:
total += x % 10
x //= 10
return total