1 #題目:有一個已經排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。python
代碼:數組
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)
運行結果:app
[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]#
代碼解釋:ide
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