如何在Python中反转一个数字

如何在Python中反转一个数字

这是面试中最常问到的编程问题。我们可以使用不同的方法在Python中反转整数。

如何在Python中反转一个数字

在这里,我们将编写一个程序,输入一个数字并将其倒转。让我们来看看倒转整数的以下方法。

  • 使用while循环
  • 使用递归

使用Python while循环倒转数字

首先,我们了解一下这个程序的算法。这将使您更容易理解程序逻辑。一旦您理解了逻辑,您可以使用任何语言编写程序,不仅限于 Python

算法

Input Integer:  number
(1) Initialize variable revs_number = 0
(2) Loop while number > 0
     (a) Multiply revs_number by 10 and add remainder of number 
          divide by 10 to revs_number
               revs_number = revs_number*10 + number%10;
     (b) Divide num by 10
(3) Return revs_number

让我们在程序中实现上述算法。

程序

# Ask for enter the number from the use
number = int(input("Enter the integer number: "))

# Initiate value to null
revs_number = 0

# reverse the integer number using the while loop

while (number > 0):
    # Logic
    remainder = number % 10
    revs_number = (revs_number * 10) + remainder
    number = number // 10

# Display the result
print("The reverse number is : {}".format(revs_number))

输出:

Enter the integer number: 12345
The reverse number is: 54321

说明 –

让我们逐步理解这个程序。

我们初始化一个变量 number 来接收用户输入,并将变量 revs_number 的初始值设置为null。

第一次迭代

第二次迭代

现在数字是123,revs_number是5。while检查其条件并执行下一次迭代。

第三次迭代

从第二次迭代开始,数字和反转的值已经改变为:number = 123,revs_number = 54

第四次迭代

修改后的数字是12,revs_number是543:现在while再次执行。

第五次迭代

while循环终止,因为发现了一个布尔结果为false。

您可以输入不同的数字并检查结果。

使用递归反转一个数字

让我们理解以下示例。

num = int(input("Enter the number: "))
revr_num = 0    # initial value is 0. It will hold the reversed number
def recur_reverse(num):
    global revr_num   # We can use it out of the function
    if (num > 0):
        Reminder = num % 10
        revr_num = (revr_num * 10) + Reminder
        recur_reverse(num // 10)
    return revr_num


revr_num = recur_reverse(num)
print("n Reverse of entered number is = %d" % revr_num)

输出:

Enter the number: 5426
The Reverse of entered number is = 6245

逻辑在两个程序中是相同的。一旦你理解了这个逻辑,你就能轻松地自己做到这一点。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程