python如何将三位数收尾互换

python如何将三位数收尾互换

作者:William Gu发布时间:2026-01-14阅读时长:0 分钟阅读次数:4

用户关注问题

Q
如何用Python代码交换三位数的百位和个位数字?

我想用Python编程,将一个三位数的百位和个位数字互换,该怎么实现?

A

通过字符串或数学运算交换三位数的百位和个位

可以将数字转成字符串,利用字符串的切片操作交换第一个和第三个字符,再转回整数。也可以通过数学运算提取百位、十位和个位,然后重新组合。示例代码:

方法一(字符串操作):
num = 123
s = str(num)
new_num = int(s[-1] + s[1] + s[0])

方法二(数学运算):
num = 123
hundreds = num // 100
tens = (num % 100) // 10
ones = num % 10
new_num = ones * 100 + tens * 10 + hundreds

Q
如果输入的数字不是三位数,如何用Python处理交换操作?

我担心用户输入的数字可能不是三位数,该如何判断并正确处理交换百位和个位?

A

判断数字位数并确保只操作三位数

可以先判断数字的位数,例如通过判断数字是否在100到999之间,如果不是则提示用户输入有效的三位数。也可以扩展代码处理位数不足的情况,但标准做法是限制输入范围,确保只有三位数被处理。示例判断代码:

if 100 <= num <= 999:
# 执行交换操作
else:
print("请输入一个三位数。")

Q
有没有简便的方法一行代码实现三位数百位与个位的互换?

想用Python用最简洁的写法交换三位数的首尾数字,怎么一行代码搞定?

A

使用字符串切片和格式化一行实现交换

可以利用字符串的切片功能和int转换,一行实现互换,如下示例:

new_num = int(str(num)[-1] + str(num)[1] + str(num)[0])

以上代码将数字转字符串,拼接个位、十位、百位顺序的新字符串,再转换为整数,达到互换效果。