示例 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 循环用于按照以下步骤反转数字:
- 首先,`num` 除以 10 的余数存储在变量 `digit` 中。现在,`digit` 包含 `num` 的最后一位,即 4。
然后,`digit` 在乘以 10 后添加到变量 `reversed` 中。乘以 10 会在反转数字中增加一个新位置。个位乘以 10 得到十位,十位得到百位,依此类推。在这种情况下,`reversed_num` 包含 `0 * 10 + 4 = 4`。
然后,`num` 除以 10,这样它现在只包含前三位数字:123。 - 第二次迭代后,`digit` 等于 3,`reversed` 等于 `4 * 10 + 3 = 43`,`num = 12`。
- 第三次迭代后,`digit` 等于 2,`reversed` 等于 `43 * 10 + 2 = 432`,`num = 1`。
- 第四次迭代后,`digit` 等于 1,`reversed` 等于 `432 * 10 + 1 = 4321`,`num = 0`。
- 现在 `num = 0`,所以测试表达式 `num != 0` 失败,while 循环退出。`reversed` 已经包含反转的数字 4321。
示例 2:使用字符串切片
num = 123456
print(str(num)[::-1])
输出
654321
使用字符串切片概念,您可以反转字符串。`::-1` 对应于 `start:stop:step`。当您将 -1 作为 `step` 传递时,`start` 点会移到末尾,`stop` 点会移到开头。
另请阅读