1 #题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
代码:
2
3 i = int(input('请输入一个数字:'))
4 li = [10,20,30,40,50]
5 print(li)
6 for x in range(5):
7 if i <= li[0]:
8 li.insert(0,i)
9 break
10 elif i >= li[4]:
11 li.append(i)
12 break
13 elif i > li[x] and i <= li[x+1]:
14 li.insert(x+1,i)
15 break
16 print(li)运行结果:
[root@HK code_100]# python code_39.py 请输入一个数字:7 [10, 20, 30, 40, 50] [7, 10, 20, 30, 40, 50] [root@HK code_100]# python code_39.py 请输入一个数字:15 [10, 20, 30, 40, 50] [10, 15, 20, 30, 40, 50] [root@HK code_100]# python code_39.py 请输入一个数字:35 [10, 20, 30, 40, 50] [10, 20, 30, 35, 40, 50] [root@HK code_100]# python code_39.py 请输入一个数字:80 [10, 20, 30, 40, 50] [10, 20, 30, 40, 50, 80] [root@HK code_100]#
代码解释:
2
3 i = int(input('请输入一个数字:')) #定义变量i,接收输入的数字,转换成int类型
4 li = [10,20,30,40,50] #定义一个初始list
5 print(li) #打印list,供参考比较
6 for x in range(5): #遍历列表list
7 if i <= li[0]: #如果i值小于li的最小值
8 li.insert(0,i) #在列表list的头部插入
9 break #有匹配项后跳出循环,避免重复插入
10 elif i >= li[4]: #如果i值大于li最大值
11 li.append(i) #在列表list尾部追加数字i
12 break #有匹配项后跳出循环,避免重复插入
13 elif i > li[x] and i <= li[x+1]: #如果i大于列表前一项,小于列表后一项
14 li.insert(x+1,i) #将i值插入到li列表中
15 break #跳出循环,避免重复插入
16 print(li) #打印插入i之后的列表li

















