Logic Building
def count_digits(n):
# Base case
if n == 0:
return 0
# Recursive case
return 1 + count_digits(n // 10)
# Test
num = int(input("Enter a number: "))
result = count_digits(abs(num))
print(f"Number of digits: {result}")Output
Enter a number: 12345 Number of digits: 5
Count = 1 + count of remaining digits.
Key Concepts:
- Base case: 0 has 0 digits
- Add 1 for current digit
- Recurse on n // 10 (remove last digit)