Python实现: 输入一个三位数,要求把这个数的百位数与个位数对调,输出对调后的数。(可以考虑用3种方法实现)
时间: 2024-09-12 14:05:52 浏览: 183
在Python中,可以通过多种方法实现输入一个三位数,然后将百位数和个位数对调的功能。下面我将介绍三种不同的方法:
1. 利用整数除法和取余操作
通过除以100和1分别获取百位数和个位数,然后将它们分别乘以1和100,最后加上中间位数,得到对调后的数。
```python
def swap_ends(num):
# 获取百位和个位数字
bai = num // 100
ge = num % 10
# 构造新的三位数,百位和个位对调
new_num = ge * 100 + (num - bai * 100 - ge) + bai * 10
return new_num
# 测试
num = int(input("请输入一个三位数:"))
print("对调后的数是:", swap_ends(num))
```
2. 使用字符串操作
将数字转换成字符串,然后通过切片交换百位和个位字符的位置,最后将字符串转换回整数。
```python
def swap_ends_by_str(num):
num_str = str(num)
# 切片交换百位和个位
swapped_str = num_str[2] + num_str[1] + num_str[0]
# 将字符串转回整数
new_num = int(swapped_str)
return new_num
# 测试
num = int(input("请输入一个三位数:"))
print("对调后的数是:", swap_ends_by_str(num))
```
3. 利用数学计算
利用数学方法,通过减去和加上相应的数值来实现位数的交换。
```python
def swap_ends_by_math(num):
# 获取中间位数
middle = num % 100 - (num // 100) * 10
# 百位和个位对调
new_num = (num % 10) * 100 + middle + (num // 100)
return new_num
# 测试
num = int(input("请输入一个三位数:"))
print("对调后的数是:", swap_ends_by_math(num))
```
阅读全文