我是Python初学者,这题是我大晚上刷到的,然后花了一个多小时写完,写完我看网上其他文章的代码都不是很好,我愿意和广大网友一起交流技术。
题目:输入一行 k 个用空格分隔开的整数,依次为 n1,n2…nk。请将所有下标不能被 3 可以被 2 整除的数在这些数字原有的位置上进行升序排列,此外,将余下下标能被 3 整除的数在这些数字原有的位置上进行降序排列。
输出包括一行,与输入相对应的若干个整数,为排序后的结果,整数之间用空格分隔。
样例输入:1 5 4 3 10 7 19
样例输出:1 3 7 5 10 4 19
我的思路是先把不能被3但可以被2整除的数以及能被3整除的数分别提取出来成两个列表,然后使用sort()函数排序,再对原列表遍历,把符合条件的用排序好的列表替换掉,最后进行单个输出。
代码如下:
lis = list((int(x) for x in input().split(' ')))
lis1,lis2 = [],[]
count