Python 程序:计算数字中的位数

编写一个 Python 程序,使用 While 循环、函数和递归来计算数字中的位数。

Python 程序:使用 While 循环计算数字中的位数

此 Python 程序允许用户输入任何正整数。然后,它将给定的数字分解为单个数字,并使用 While 循环计算这些单个数字。

# 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)
Program to Count Number of Digits in a Number using While Loop

此程序允许用户输入任何正整数。然后将该数字赋值给 Number 变量。接下来,While 循环中的条件确保给定的数字大于 0(表示正整数且大于 0)。

在此 Python 计算数字位数程序中,用户输入的为:Number = 9875,Count = 0

第一次迭代

Number = Number // 10 => 9875 //10
Number = 987

Count = Count + 1 => 0 + 1
Count = 1

第二次迭代:从第一次Python迭代开始,两个变量的值都发生了变化:Number = 987,Count = 1。

Number = 987 // 10
Number = 98

Count = 1 + 1
Count = 2

第三次迭代:在第二个计算数字中位数的程序迭代中,Number = 98,Count = 2。

Number = 98 // 10
Number = 9

Count = 2 + 1
Count = 3

第四次迭代:对于第四次迭代,Number = 9,Count = 3。

Number = 9 // 10
Number = 0

Count = 3 + 1
Count = 4

此时 Number = 0。因此,while 循环中的条件失败。

最后一个 print 语句使用 Count 变量作为输出,打印出给定数字中的位数。因此,变量 9875 的输出为 4。

Python 程序:使用函数计算数字中的位数

Python 程序允许用户输入任何正整数。然后,它将给定的数字分解为单个数字,并使用函数计算这些单个数字。

# 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

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)
Please Enter any Number: 123456789

 Number of Digits in a Given Number = 9

当执行到 Counting (Number) 行时,编译器会立即跳转到下面的函数。

def Counting(Number):

最后一行以 return Count 语句结束。

Python 程序:使用递归计算数字中的位数

此程序将给定的数字分解为单个数字,并使用递归计算这些单个数字。

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)
Please Enter any Number: 12345

 Number of Digits in a Given Number = 5

在 Counting (Number) 函数定义中,下面的语句帮助递归地调用具有更新值的函数。

Counting(Number//10)

如果缺少此语句,在完成第一行后,程序将终止。例如:

Number = 1234

那么输出是 1。