如何在 Python 中反转数字

2025年3月17日 | 阅读 3 分钟

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

How to reverse a number in Python

在这里,我们将编写一个程序,该程序接受输入数字并反转它。让我们了解以下反转整数的方法。

  • 使用 while 循环
  • 使用递归

使用 Python 的 while 循环反转数字

首先,我们理解这个程序的算法。这将使理解程序逻辑更加容易。一旦你掌握了逻辑,你就可以用任何语言编写程序,而不仅仅是Python

算法

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

程序

输出

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

解释 -

让我们一步一步地理解这个程序。

我们初始化一个名为 **number** 的变量用于用户输入,并将变量 **revs_number** 的初始值设为 null。

第一次迭代

余数 = 数字 % 10
余数 = 12345 % 10 = 5
反转 = 反转 * 10 + 余数 revs_number 的初始值为 null
反转 = 0 * 10 + 5 = 0 + 5 = 5
数字 = 数字 // 10
数字 = 1234 // 10 = 1234 // 现在循环将在此数字上迭代。

第二次迭代

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

余数 = 数字 % 10
余数 = 1234 % 10 = 4
反转 = 反转 * 10 + 余数 = 5 * 10 + 4
反转 = 50 + 4 = 54
数字 = 数字 // 10 = 12345 // 10
数字 = 123

第三次迭代

从第二次迭代开始,Number 和 Reverse 的值都已更改为:number = 123 和 revs_number = 54

余数 = 数字 % 10
余数 = 123 % 10 = 3
反转 = 反转 * 10 + 余数 = 54 * 10 + 3
反转 = 540 + 3 = 543
数字 = 数字 // 10 = 123 // 10
数字 = 12

第四次迭代

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

余数 = 数字 % 10
余数 = 12 % 10 = 2
反转 = 反转 * 10 + 余数 = 543 * 10 + 2
反转 = 5430 + 2 = 5432
数字 = 数字 // 10 = 12 // 10
数字 = 1

第五次迭代

余数 = 数字 % 10
余数 = 1 % 10 = 1
反转 = 反转 * 10 + 余数 = 5432 * 10 + 1
反转 = 54320 + 1 = 54321

while 循环终止,因为布尔结果为 false。

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

使用递归反转数字

让我们理解下面的例子。

输出

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

两个程序的逻辑相同。一旦你理解了逻辑,就可以自己轻松完成。