跳到主要内容

Python 程序:反转数字

要理解这个示例,你需要了解以下Python编程主题的知识:

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

num = 1234
reversed_num = 0

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

print("反转后的数字:" + str(reversed_num))

输出

4321

在这个程序中,使用while循环反转数字,过程如下:

  1. 首先,num除以10的余数存储在变量digit中。现在,digit包含num的最后一个数字,即4。 digit乘以10后添加到变量reversed。乘以10在反转数字中增加一个新的位置。个位乘以10得到十位,十位得到百位,依此类推。在这种情况下,reversed_num包含0 * 10 + 4 = 4num然后除以10,现在它只包含前三个数字:123。
  2. 第二次迭代后,digit等于3,reversed等于4 * 10 + 3 = 43num = 12
  3. 第三次迭代后,digit等于2,reversed等于43 * 10 + 2 = 432num = 1
  4. 第四次迭代后,digit等于1,reversed等于432 * 10 + 1 = 4321num = 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在前端。