Python 练习实例39

[复制链接]
 楼主| cooldog123pp 发表于 2021-5-25 23:42 | 显示全部楼层 |阅读模式
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
程序源代码:
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-

  3. if __name__ == '__main__':
  4.     # 方法一 : 0 作为加入数字的占位符
  5.     a = [1,4,6,9,13,16,19,28,40,100,0]
  6.     print ('原始列表:')
  7.     for i in range(len(a)):
  8.         print (a[i])
  9.     number = int(input("\n插入一个数字:\n"))
  10.     end = a[9]
  11.     if number > end:
  12.         a[10] = number
  13.     else:
  14.         for i in range(10):
  15.             if a[i] > number:
  16.                 temp1 = a[i]
  17.                 a[i] = number
  18.                 for j in range(i + 1,11):
  19.                     temp2 = a[j]
  20.                     a[j] = temp1
  21.                     temp1 = temp2
  22.                 break
  23.     print ('排序后列表:')
  24.     for i in range(11):
  25.         print (a[i])
以上实例输出结果为:
  1. 原始列表:
  2. 1
  3. 4
  4. 6
  5. 9
  6. 13
  7. 16
  8. 19
  9. 28
  10. 40
  11. 100
  12. 0

  13. 插入一个数字:
  14. 7
  15. 排序后列表:
  16. 1
  17. 4
  18. 6
  19. 7
  20. 9
  21. 13
  22. 16
  23. 19
  24. 28
  25. 40
  26. 100


您需要登录后才可以回帖 登录 | 注册

本版积分规则

2224

主题

7415

帖子

31

粉丝
快速回复 在线客服 返回列表 返回顶部

2224

主题

7415

帖子

31

粉丝
快速回复 在线客服 返回列表 返回顶部