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

  1 #題目:對10個數進行排序python


代碼:app


  2 i = 1
  3 li = []
  4 while i <= 10:
  5     li.append(int(input('請輸入第%d個數字:'%i)))
  6     i += 1
  7 print('這十個數分別爲:')
  8 print(li)
  9 
 10 liorder = []
 11 x = 0 
 12 while x == 0:
 13     if li != []:
 14         m = li[0]
 15         for i in range(0,len(li)):
 16             if m > li[i]:
 17                 m = li[i]
 18         liorder.append(m)
 19         li.remove(m)
 20     else:
 21         x = 1
 22 print('排序以後爲:')
 23 print(liorder)


運行結果:ide


[root@HK code_100]# python code_37.py 
請輸入第1個數字:234
請輸入第2個數字:8765
請輸入第3個數字:234235
請輸入第4個數字:45
請輸入第5個數字:7
請輸入第6個數字:324534647
請輸入第7個數字:4324
請輸入第8個數字:45676834
請輸入第9個數字:345
請輸入第10個數字:45654534534546675657
這十個數分別爲:
[234, 8765, 234235, 45, 7, 324534647, 4324, 45676834, 345, 45654534534546675657]
排序以後爲:
[7, 45, 234, 345, 4324, 8765, 234235, 45676834, 324534647, 45654534534546675657]
[root@HK code_100]#


代碼解釋:code


  #思路:在10個數字中每次取出最小值,添加到新的列表,循環結束,新的列表就是10個數字的升序排列
  
  2 i = 1                                               #定義i變量,初始化爲1
  3 li = []                                             #建立一個空列表,接收輸入的10個數字
  4 while i <= 10:                                      #循環輸入10個數字
  5     li.append(int(input('請輸入第%d個數字:'%i)))    #將輸入的數字轉換成int格式,添加到li列表當中
  6     i += 1                                          #循環終止條件
  7 print('這十個數分別爲:')                            #打印輸入的亂序的10個數字
  8 print(li)
  9 
 10 liorder = []                                        #定義一個新的空列表,用於放置取出的最小值
 11 x = 0                                               #定義一個while判斷的flag,初始值爲0
 12 while x == 0:                                       #flag判斷
 13     if li != []:                                    #當li列表非空也就是沒有被取完全部數字的時候
 14         m = li[0]                                   #定義一個變量m,將li列表第一個值賦值給m
 15         for i in range(0,len(li)):                  #遍歷li列表
 16             if m > li[i]:                           #若是m值(li[0])大於後面的數字
 17                 m = li[i]                           #將較小的數字賦值給m,始終保持m值是li中最小值
 18         liorder.append(m)                           #將li中的最小值m添加到liorder中
 19         li.remove(m)                                #在原li列表中刪除m元素
 20     else:                                           #若是li列表爲空
 21         x = 1                                       #flag x賦值爲1,跳出while循環
 22 print('排序以後爲:')                               #打印排序後的列表
 23 print(liorder)
相關文章
相關標籤/搜索