python入门经典100例-【python】编程语言入门经典100例--37

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)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值