首先先说一下题目:有一个文件,文件目录及名称:d:\\test1.txt
文件内容:
0001 Jone 1000.00
0002 Stone 30000.00
0008 Smith 50000.00
0005 Super 60000.00
0010 Abust 10000.00
现在需要完成的功能是:输入1:进行工号排序,输入2:进行姓名排序,输入3:进行薪资排序
先贴代码:
# coding=utf-8 ##以utf-8编码储存中文字符
file=open("d:\\test1.txt","r")
file=[l.split() for l in file.read().split('\n')]
def sort(A,num):
for i in range(len(A)):
(A[i][0],A[i][num])=(A[i][num],A[i][0])
A.sort()
for i in range(len(A)):
(A[i][0],A[i][num])=(A[i][num],A[i][0])
def pri(file):
for i in file:
print ( i )
try:
print "输入1:工号排序,输入2:姓名排序,输入3:薪资排序:"
num=int(raw_input("请输入一个数字(1-3):\n"))
if num==1:
file.sort()
pri(file)
elif num==2:
sort(file,1)
pri(file)
elif num==3:
sort(file,2)
pri(file)
break
else:
print "请输入一个1-3的数字:"
except ValueError:
print "请输入一个数字!!"
代码如下:
# coding=utf-8 f=open("d:\\test1.txt","r") chunks=[l.split() for l in f.read().split('\n')] chunks.sort(lambda a,b:cmp(a[2],b[2])) def pri(file): for i in chunks: print i try: print "输入1:工号排序,输入2:姓名排序,输入3:薪资排序:" num=int(raw_input("请输入一个数字(1-3):\n")) if num==1: chunks.sort(lambda a,b:cmp(a[0],b[0])) pri(chunks) elif num==2: chunks.sort(lambda a,b:cmp(a[1],b[1])) pri(chunks) elif num==3: chunks.sort(lambda a,b:cmp(a[2],b[2])) pri(chunks) else: print "请输入一个1-3的数字:" except ValueError: print "请输入一个数字!!"