Search code examples
pythonfunctionwhile-loopcountdigits

Trying to understand a code of counting numbers digits in python


Can someone explain to me the code below. I need to understand what line 2 and line 5 mean when we count digits of a number (ex. 100).

def Counting(Number):
    Count = 0
    while(Number > 0):
        Number = Number // 10
        Count = Count + 1
    print("Number of Digits in a Given Number:", Count)
Counting(100)

Solution

  • Count
    

    is the variable used to store the number of digits in Number.

    while (Number > 0):
    

    this line continues looping until the Number is 0. In other words it loops while Number is a positive integer.

    Number = Number // 10
    

    floor division of Number by 10. When you divide a number by 10, you are "removing" its last digit. For example, in the case of 100, it would be

    100 // 10 = 10
    

    or in the case of 12345,

    12345 // 10 = 1234
    

    this effectively reduces the number of digits by one.

    Count = Count + 1
    

    increments Count, as we have removed one digit from Number.