python定义一个函数,将n个数的前半部分后半部分互换! 输入:123456 输出:456123 如果为奇数:1234567 输出:5674123 中间的数不变,前后部分交换!
时间: 2024-12-08 11:19:47 浏览: 16
在Python中,你可以通过切片操作和列表连接来定义这样一个函数。这里是一个简单的示例,它接受一个整数n和一个数字列表作为输入,然后按照你的描述对列表进行分割和交换:
```python
def swap_half(nums, n):
# 检查列表长度是否为奇数
if len(nums) % 2 == 0:
half = len(nums) // 2 # 偶数长度,取前半部分
else:
half = len(nums) // 2 + 1 # 奇数长度,取前半部分并包括中间数
# 将前半部分和后半部分分开
front = nums[:half]
back = nums[half:]
# 如果是偶数长度,直接合并后半部分到前面,如果是奇数,先去掉中间数再合并
if len(nums) % 2 == 0:
result = front + back
else:
middle = nums[half - 1] # 取出中间数
front.pop() # 移除最后一个元素(即中间数)
result = front + [middle] + back
return result
# 测试例子
input_nums = list(map(int, "123456"))
output = swap_half(input_nums, len(input_nums))
print("Output:", output)
# 对奇数长度的情况进行测试
odd_nums = list(map(int, "1234567"))
output_odd = swap_half(odd_nums, len(odd_nums))
print("Odd Output:", output_odd)
```
阅读全文