打印

Python 练习实例39

[复制链接]
312|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cooldog123pp|  楼主 | 2021-5-25 23:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
程序源代码:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

if __name__ == '__main__':
    # 方法一 : 0 作为加入数字的占位符
    a = [1,4,6,9,13,16,19,28,40,100,0]
    print ('原始列表:')
    for i in range(len(a)):
        print (a[i])
    number = int(input("\n插入一个数字:\n"))
    end = a[9]
    if number > end:
        a[10] = number
    else:
        for i in range(10):
            if a[i] > number:
                temp1 = a[i]
                a[i] = number
                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])
以上实例输出结果为:
原始列表:
1
4
6
9
13
16
19
28
40
100
0

插入一个数字:
7
排序后列表:
1
4
6
7
9
13
16
19
28
40
100


使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1592

主题

5837

帖子

29

粉丝