标签:题目:对10个数进行排序
1 #题目:对10个数进行排序
代码:
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)
运行结果:
[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)
本文出自 “学习笔记” 博客,请务必保留此出处http://netsyscode.blog.51cto.com/6965131/1749989
标签:题目:对10个数进行排序
原文地址:http://netsyscode.blog.51cto.com/6965131/1749989