Python练习实例39 | 按顺序,在原有的数列当中,插入一个新的数,序列规律保持不变,如何实现?

作者 : 开心源码 本文共855个字,预计阅读时间需要3分钟 发布时间: 2022-05-13 共193人阅读

小黄人.jpg

想要实现这个功能,需要我们首先来进行一下判断,看新插入的数字,与原来的数字进行比较,会出现几种情况。

第一种情况,假如新插入的数字,大于前面所有的列表数字,那么,这个新插入的数字应该放在最后就可。

第二种情况,新插入的数字,比倒数第二个(不是倒数第一个,是由于最后一个数字需要占位)数字要小,我们需要将这个数字插入到倒数第二个数与倒数第三个数字之间。

好了,分析完了之后,我们来看一下代码。

# 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。if __name__ == "__main__": # 定义一个程序的入口    a = [1,4,6,9,13,16,19,28,40,100,0] # 创立一个空的列表,这里的0,仅仅占位,没有任何意思    print("原始列表:") # 将空列表打印出来    for i in range(len(a)): # 遍历列表当中的元素,并打印出来        print (a[i],end=",")    num = int(input("\n请输入一个整数:")) # 输入一个数字    end = a[9] # 定位倒数第二位的一位变量,这里也可以写成a[-2]    if num > end: # 假如输入的数字大于倒数第二个的数字        a[10]=num # 将num的值换成最后一个的占位的数字,这里也就是0    else: # 否则        for i in range(10): #遍历列表前10个元素            if a[i]>num: # 假如列表当中的元素的值大于num                temp1 = a[i] # 将这个元素赋值给temp1,这里主要是想让a[i]为num腾出一个地方                a[i]=num  # 将num的值,替代为a[i]本来所在的位置的值                for j in range(i+1,11): # 这里的意思,就是依次将原来的数 后移动一个位置。                    temp2 = a[j]                    a[j]=temp1                    temp1=temp2                break    print("排序后的列表:") # 打印出排序后的列表    for i in range(11):        print(a[i],end=",") # 遍历下标,打印出下标所对应的元素。

2020年3月8日
北京市通州区京贸中心

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Python练习实例39 | 按顺序,在原有的数列当中,插入一个新的数,序列规律保持不变,如何实现?

发表回复