From a51287b802eb16e971a8d20044aa3e04627ef262 Mon Sep 17 00:00:00 2001 From: "exercism-solutions-syncer[bot]" <211797793+exercism-solutions-syncer[bot]@users.noreply.github.com> Date: Thu, 7 Aug 2025 03:16:09 +0000 Subject: [PATCH] [Sync Iteration] python/armstrong-numbers/2 --- .../armstrong-numbers/2/armstrong_numbers.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 solutions/python/armstrong-numbers/2/armstrong_numbers.py diff --git a/solutions/python/armstrong-numbers/2/armstrong_numbers.py b/solutions/python/armstrong-numbers/2/armstrong_numbers.py new file mode 100644 index 0000000..648d086 --- /dev/null +++ b/solutions/python/armstrong-numbers/2/armstrong_numbers.py @@ -0,0 +1,27 @@ +"""Armstrong Numbers.""" + + +def is_armstrong_number(number: int) -> bool: + """ + Test if "Armstrong Number". + + An Armstrong number is a number that is the sum of its own digits + each raised to the power of the number of digits. + + :param number: any integer number + :type number: int + :return: if "Armstrong Number" + :rtype: bool + + Examples: + >>> is_armstrong_number(153) + True + >>> is_armstrong_number(10) + False + """ + if number < 0: + raise ValueError("Only non-negative integers are allowed") + + str_num: str = str(number) + n: int = len(str_num) + return number == sum(int(char) ** n for char in str_num)