| 1 | 1 | def is_armstrong_number(number): |
| 2 | pass | |
| 2 | # Edge Case: Negative numbers are not considered Armstrong numbers | |
| 3 | if number < 0: | |
| 4 | return False | |
| 5 | ||
| 6 | # Convert number to string to easily access individual digits | |
| 7 | num_str = str(number) | |
| 8 | num_digits = len(num_str) | |
| 9 | ||
| 10 | # Edge Case: Single digit numbers are always Armstrong numbers | |
| 11 | if num_digits == 1: | |
| 12 | return True | |
| 13 | ||
| 14 | # Calculate sum of each digit raised to the power of number of digits | |
| 15 | total = sum(int(digit) ** num_digits for digit in num_str) | |
| 16 | ||
| 17 | # Check if the total equals the original number | |
| 18 | return total == number | |
| 19 | ||
| 20 | # Handled Edge Cases: Negative numbers, Single digit numbers |