经验App:聚合职场优选内容程序员

Python练习实例39 | 按顺序,在原有的数列当中,插入一个

2020-03-08  本文已影响0人  暮光微晓破倾城
小黄人.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日
北京市通州区京贸中心

上一篇 下一篇

猜你喜欢

热点阅读