Python 练习实例37
题目:对10个数进行排序。
程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。
程序源代码:
实例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
if __name__ == "__main__":
N = 10
# input data
print '请输入10个数字:\n'
l = []
for i in range(N):
l.append(int(raw_input('输入一个数字:\n')))
print
for i in range(N):
print l[i]
print
# 排列10个数字
for i in range(N - 1):
min = i
for j in range(i + 1,N):
if l[min] > l[j]:min = j
l[i],l[min] = l[min],l[i]
print '排列之后:'
for i in range(N):
print l[i]
以上实例输出结果为:
请输入10个数字: 输入一个数字: 5 输入一个数字: 3 输入一个数字: 23 输入一个数字: 67 输入一个数字: 2 输入一个数字: 56 输入一个数字: 45 输入一个数字: 98 输入一个数字: 239 输入一个数字: 9 5 3 23 67 2 56 45 98 239 9 排列之后: 2 3 5 9 23 45 56 67 98 239
参考解析方案:
参考解析方案:
参考方法:
参考方法:
参考方法,使用 min+remove 挑选最小数以及弹出最小数方法排序
参考方法:
使用选择法,从后9个比较过程中,选择一个最小的与第一个元素比较交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。
输入任意个数字,并进行升序降序选择。sorted()函数中reverse参数默认为False
Python3.x 下测试:
Python3实例: