题目:对10个数进行排序。
方法一:
# -*- coding:utf-8 -*-
list = []
for i in range(5):
a = input('请输入整数:')
list.append(a)
print list
list.sort()#利用现有的函数方法
print list
结果为:
请输入整数:1
请输入整数:2311
请输入整数:12
请输入整数:34
请输入整数:8
请输入整数:5
请输入整数:0
请输入整数:23
请输入整数:121
请输入整数:3434
[1, 2311, 12, 34, 8, 5, 0, 23, 121, 3434]
[0, 1, 5, 8, 12, 23, 34, 121, 2311, 3434]
方法二:
冒泡排序:
# coding:utf-8
list = []
print '请输入十个整数:'
for i in range(10):
print '输入第%d个整数:'%i
a = input()
list.append(a)
print list
for i in range(9):
for j in range(9 - i):
if list[j] > list[j+1]:
list[j], list[j + 1] = list[j + 1], list[j]
print list
结果为:
pyExercise $ python2 bubblesort.py
请输入十个整数:
输入第0个整数:
12
输入第1个整数:
23
输入第2个整数:
34
输入第3个整数:
45
输入第4个整数:
56
输入第5个整数:
6734
输入第6个整数:
2
输入第7个整数:
4
输入第8个整数:
1
输入第9个整数:
0
[12, 23, 34, 45, 56, 6734, 2, 4, 1, 0]
[12, 23, 34, 45, 56, 2, 4, 1, 0, 6734]
[12, 23, 34, 45, 2, 4, 1, 0, 56, 6734]
[12, 23, 34, 2, 4, 1, 0, 45, 56, 6734]
[12, 23, 2, 4, 1, 0, 34, 45, 56, 6734]
[12, 2, 4, 1, 0, 23, 34, 45, 56, 6734]
[2, 4, 1, 0, 12, 23, 34, 45, 56, 6734]
[2, 1, 0, 4, 12, 23, 34, 45, 56, 6734]
[1, 0, 2, 4, 12, 23, 34, 45, 56, 6734]
[0, 1, 2, 4, 12, 23, 34, 45, 56, 6734]
方法三:
选择排序:
# coding:utf-8
list = []
print '请输入5个整数:'
for i in range(5):
print '输入第%d个整数:'%i
a = input()
list.append(a)
print list
for i in range(5):
min_index = i
for j in range(i + 1, 5):
if list[j] < list[min_index]:
min_index = j //找出最小元素下标
if min_index != i:
list[min_index], list[i] = list[i], list[min_index]
print list
结果:
pyExercise $ python2 test.py
请输入5个整数:
输入第0个整数:
123
输入第1个整数:
22
输入第2个整数:
2
输入第3个整数:
12
输入第4个整数:
4
[123, 22, 2, 12, 4]
[2, 22, 123, 12, 4]
[2, 4, 123, 12, 22]
[2, 4, 12, 123, 22]
[2, 4, 12, 22, 123]
[2, 4, 12, 22, 123]