Try it on paper first. A hint, the key idea and the worked solution are here when you need them.
Write count_digits(n) by recursion: a number below has one digit, and any other number has one more digit than the number without its last digit. How many digits do and have?
n // 10 removes the last digit.
Have you tried it?
Work it out on paper first. It is fine to get stuck or make a mistake: that is how we learn. When you are ready, compare your working with the solution.
Base case. n < 10: one digit.
Recursive case. 1 + count_digits(n // 10). (n // 10 removes the last digit.)
Log in to join the discussion.
Loading…
With Standard, you also open 10 more problems, 2 Python labs and 1 extra course. Everything you have used here stays free, always.