Count Digits Recursively

Count digits in a number using recursion.

IntermediatePhase 3 - Level 2: Advanced RecursionExample 1 of 10
count-digits-recursively.py
1def count_digits(n):
2 # Base case
3 if n == 0:
4 return 0
5
6 # Recursive case
7 return 1 + count_digits(n // 10)
8
9# Test
10num = int(input("Enter a number: "))
11result = count_digits(abs(num))
12print(f"Number of digits: {result}")

Output

Enter a number: 12345
Number of digits: 5

What's going on

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)