定义一个函数,将N个数的前半部分和后半部分互换,N为奇数时,中间数不移动。
示例如下:
N为偶数时:
互换前: 1、2、3、4、5、6
互换后: 4、5、6、1、2、3
N为奇数时
互换前: 1、2、3、4、8
互换后4、5、3、1、2
def change(a):
l = len(a)
h = int(l/2)
m = 0 if l%2==0 else h
return a[h if m==0 else h+1:l] + ([] if m==0 else [a[m]]) + a[0:h]
a=[1,2,3,4,5,6,7]
print(change(a))
def reversal(n):
r1 = n[0:int(len(n) / 2)]
if len(n) % 2 == 0:
s = int(len(n) / 2)
r2 = []
else:
s = int(len(n) / 2) + 1
r2 = [n[int(len(n) / 2)]]
r3 = n[s: len(n)]
r = r3 + r2 + r1
print('反转后', r)
for j in range(2):
n = int(input('N'))
n = [i + 1 for i in range(n)]
print('反转前', n)
reversal(n)