【python】編程語言入門經典100例--39

  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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章