1 #題目:對10個數進行排序
編程語言physon?代碼:
2 i = 1
python編程入門。3 li = []
4 while i <= 10:
python編程300例、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)
運行結果:
[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]#
代碼解釋:
#思路:在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)
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态