用于反转数字的 Python 程序

要理解这个例子,你应该具备以下 Python 编程 主题的知识


示例 1:使用 while 循环反转数字

num = 1234
reversed_num = 0

while num != 0:
    digit = num % 10
    reversed_num = reversed_num * 10 + digit
    num //= 10

print("Reversed Number: " + str(reversed_num))

输出

4321

在此程序中,while 循环用于按照以下步骤反转数字:

  1. 首先,`num` 除以 10 的余数存储在变量 `digit` 中。现在,`digit` 包含 `num` 的最后一位,即 4。
    然后,`digit` 在乘以 10 后添加到变量 `reversed` 中。乘以 10 会在反转数字中增加一个新位置。个位乘以 10 得到十位,十位得到百位,依此类推。在这种情况下,`reversed_num` 包含 `0 * 10 + 4 = 4`。
    然后,`num` 除以 10,这样它现在只包含前三位数字:123。
  2. 第二次迭代后,`digit` 等于 3,`reversed` 等于 `4 * 10 + 3 = 43`,`num = 12`。
  3. 第三次迭代后,`digit` 等于 2,`reversed` 等于 `43 * 10 + 2 = 432`,`num = 1`。
  4. 第四次迭代后,`digit` 等于 1,`reversed` 等于 `432 * 10 + 1 = 4321`,`num = 0`。
  5. 现在 `num = 0`,所以测试表达式 `num != 0` 失败,while 循环退出。`reversed` 已经包含反转的数字 4321。

示例 2:使用字符串切片

num = 123456
print(str(num)[::-1])

输出

654321

使用字符串切片概念,您可以反转字符串。`::-1` 对应于 `start:stop:step`。当您将 -1 作为 `step` 传递时,`start` 点会移到末尾,`stop` 点会移到开头。


另请阅读

在我们结束之前,让我们来检验一下你对这个例子的理解!你能解决下面的挑战吗?

挑战

编写一个函数来反转给定数字。

  • 例如,对于输入 `12345`,输出应为 `54321`。
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战