有知道这个Python函数程序编程

定义一个函数,将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)


img