From f250d1fbe62f7c541b143e612ca1269cd92ddd45 Mon Sep 17 00:00:00 2001 From: agarwalpranay02 Date: Wed, 29 Oct 2025 02:10:50 +0530 Subject: [PATCH] Add sum_of_digits implementation --- maths/add_digits.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 maths/add_digits.py diff --git a/maths/add_digits.py b/maths/add_digits.py new file mode 100644 index 000000000000..90161f24a25a --- /dev/null +++ b/maths/add_digits.py @@ -0,0 +1,31 @@ +def sum_of_digits(number: int) -> int: + """ + Return the sum of decimal digits of a non-negative integer. + + Parameters: + number (int): A non-negative integer whose digits will be summed. + + Returns: + int: Sum of the decimal digits of `number`. + + Examples: + >>> sum_of_digits(0) + 0 + >>> sum_of_digits(9) + 9 + >>> sum_of_digits(12345) + 15 + """ + if number < 0: + raise ValueError("number must be a non-negative integer") + + total = 0 + while number: + total += number % 10 + number //= 10 + return total + + +if __name__ == "__main__": + # simple demonstration + print(sum_of_digits(12345)) # expected 15