用来练手的python练习题,原题链接: python练习实例39
题干: 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
这个题目用列表List的sort,append方法非常简单,如下:
想要升序排列的话,就直接使用默认参数。
降序排列,将reverse参数改为True即可。
如果不使用python自带的排序方法的话,源代码如下:
origine = [1,3,5,11,26,37,68,129]
number = int(input("输入一个数:"))
for i in range(len(origine)):if origine[i] <= number and origine[i+1] >= number:origine.append([])origine[i+2:len(origine)] = origine[i+1:len(origine)-1]origine[i+1] = numberbreak
print(origine)
输出结果如下:
思路也比较简单,输入数字后,总是使列表长度增加1。之后遍历列表,找到新插入数的位置,将该位置至末尾的其他数字都向后移动一个索引,再将该位置改为新输入的数字即可。