RUNOOB python练习题 39 数组排序

用来练手的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] = number
    break
print(origine)

输出结果如下:
在这里插入图片描述
思路也比较简单,输入数字后,总是使列表长度增加1。之后遍历列表,找到新插入数的位置,将该位置至末尾的其他数字都向后移动一个索引,再将该位置改为新输入的数字即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值