count the number of digits in a number using a while loop

Viewed 43

Why do I need // 10? I am printing the total number of given digits.

number = 75869
    
counter = 0
while number != 0:
    number = number // 10
    counter += 1
    
print(counter)
1 Answers

You're dividing by 10 because we write number using base 10, so every time you divide by 10 and you get a non-zero answer it means your number has a digit more.

For example

n = 4567

n // 10 --> 456
456 // 10 --> 45
45 // 10 --> 4
4 // 10 --> 0

4567 has 4 digits and you divided it by 10 (with //) 4 times before getting zero.

Related