计蒜客 交叉排序-Python中的排序与元组

来源:互联网 发布:楼月软件 编辑:程序博客网 时间:2024/06/05 12:50

输入一行 k 个用空格分隔开的整数,依次为 n1, n2 … nk。请将所有下标不能被 3 但可以被 2 整除的数在这些数字原有的位置上进行升序排列,此外,将余下下标能被 3 整除的数在这些数字原有的位置上进行降序排列。

输出包括一行,与输入相对应的若干个整数,为排序后的结果,整数之间用空格分隔。
样例1

输入:

1 5 4 3 10 7 19

输出:

1 3 7 5 10 4 19

代码块

t_=input().split(' ')t1 = []t2=[]t = [ int(x) for x in t_ ]for i in range(len(t_)):    if(i+1)%3!=0 and (i+1)%2==0:        t1.append(t[i])    elif(i+1)%3==0:        t2.append(t[i])t1.sort()t2.sort(reverse=True)p,q=0,0for i in range(len(t)):    if (i+1)%3 != 0 and (i+1)%2 == 0:        del t[i]        t.insert(i,str(t1[p]))        p += 1    elif (i+1)%3 == 0:        del t[i]        t.insert(i,str(t2[q]))        q += 1t = [ str(x) for x in t ]print(' '.join(t))
原创粉丝点击