Write a Python Program to Count Number of Digits in a Number using While Loop, Functions, and Recursion

## Python Program to Count Number of Digits in a Number using While Loop

This python program allows the user to enter any positive integer. Then it divides the given number into individual digits and counts those individual digits using Python While Loop.

# Python Program to Count Number of Digits in a Number using While loop Number = int(input("Please Enter any Number: ")) Count = 0 while(Number > 0): Number = Number // 10 Count = Count + 1 print("\n Number of Digits in a Given Number = %d" %Count)

**OUTPUT**

**ANALYSIS**

This Python program allows the user to enter any positive integer. Then that number is assigned to the Number variable.

Next, Condition in the While loop make sure that the given number is greater than 0 (Means Positive integer and greater than 0)

In this Python Count Digits in a Number, the user Entered value: Number = 9875 and Count = 0

**First Iteration**

Number = Number // 10

Number = 9875 //10

Number = 987

Count = Count + 1

Count = 0 + 1

Count = 1

**Second Iteration**

From the first Iteration, the values of both the Number and Count changed as Number = 987 and Count = 1

Number = 987 // 10

Number = 98

Count = 1 + 1

Count = 2

**Third Iteration**

From the second Iteration, Number = 98 and Count = 2

Number = 98 // 10

Number = 9

Count = 2 + 1

Count = 3

**Fourth Iteration**

For the Fourth Iteration, Number = 9 and Count = 3

Number = 9 // 10

Number = 0

Count = 3 + 1

Count = 4

**Here** Number = 0. So, the condition present in a while loop fails.

Last print statement prints the number of digits present in the given number using the Count variable as the output. So, the output of the given variable 9875 is 4.

## Python Program to Count Number of Digits in a Number Using Functions

This Python program allows the user to enter any positive integer. Then it divides the given number into individual digits and counting those individual digits using Functions.

# Python Program to Count Number of Digits in a Number using Functions def Counting(Number): Count = 0 while(Number > 0): Number = Number // 10 Count = Count + 1 print("\n Number of Digits in a Given Number = %d" %Count) Counting(1234)

OR

# Python Program to Count Number of Digits in a Number using Functions def Counting(Number): Count = 0 while(Number > 0): Number = Number // 10 Count = Count + 1 return Count Number = int(input("Please Enter any Number: ")) Count = Counting(Number) print("\n Number of Digits in a Given Number = %d" %Count)

**OUTPUT**

**ANALYSIS**

When it reaches to Counting (Number) line python program, then the compiler immediately jump to below function:

def Counting(Number):

We already explained LOGIC in the above example. Please refer Python Program to Find Count of the Digits of a Given Number using While Loop Analysis section.

The last line ends with a return Count Statement.

## Python Program to Count Number of Digits in a Number Using Recursion

This Python program divides the given number into individual digits and counts those individual digits using Recursion.

# Python Program to Count Number of Digits in a Number Using Recursion Count = 0 def Counting(Number): global Count if(Number > 0): Count = Count + 1 Counting(Number//10) return Count Number = int(input("Please Enter any Number: ")) Count = Counting(Number) print("\n Number of Digits in a Given Number = %d" %Count)

**OUTPUT**

**ANALYSIS**

In the Counting (Number) function definition,

Below statement help to call the function Recursively with updated value.

Counting(Number//10)

If you miss this statement, after completing the first line, it terminates. For example,

Number = 1234

Then the output is 1