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)