1 #题目:对10个数进行排序
代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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)
|
运行结果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
[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]
#
|
代码解释:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#思路:在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)
|
本文转自snc_snc 51CTO博客,原文链接:http://blog.51cto.com/netsyscode/1749989
,如需转载请自行联系原作者