Python 练习实例39
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
程序源代码:
实例(Python 2.0+)
#!/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(raw_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
Python 100例
啊香魂
weijie1370@126.com
参考解法:
#!/usr/bin/python # -*- coding: UTF-8 -*- a = [1,3,5,7,9,11,13,15,17,19,21,23,25,27,29] b = 18 a.append(b) c = a[:] l = len(c) # 从后面开始,如果比倒数第二个数大,那就将新加入的数填在倒数第一的位置,否则倒数第二的数位置后移 for i in range(l,0,-1): if (b>c[i-2]): c[i-1] =b break else: c[i-1] = c[i-2] print c啊香魂
weijie1370@126.com
鱼尾巴的鱼
824446174@qq.com
参考地址
参考方案:
#!/usr/bin/python #coding:utf-8 import sys reload(sys) sys.setdefaultencoding('utf-8') #题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。 list = [1,2,3,4,5,6,8,9,10,11,12,13] print list #我将通过插入数字7来加入按照从小到大排列的列表中 n = int(raw_input("")) #通过for循环来讲数字在列表中定位,然后将数字添加进去就可以了。 for i in range(0,13): if list[i] < n < list[i+1]: list.insert(i+1,n) print u"插入数字后的列表为:\n",list鱼尾巴的鱼
824446174@qq.com
参考地址
animo
z@gos.cc
参考方法:
#!/usr/bin/env python # -*- coding: utf-8 -*- __author__ = 'Lei Zhong' x=[1,3,5,6,88,99] y=int(raw_input("输入数字: ")) x.append(y) x.sort() print(x)animo
z@gos.cc
等一个人
252343465@qq.com
参考解法:
#!/usr/bin/env python3 # -*- coding: utf-8 -*- L = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19] print('原始列表为: {}'.format(L)) num = int(input('输入一个数:')) L.append(num) for i in range(1, len(L)+1): if L[-i] < L[-(i+1)]: L[-i], L[-(i+1)] = L[-(i+1)], L[-i] else: break print('新的列表为: {}'.format(L))等一个人
252343465@qq.com