|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
【问题描述】
文件score.txt中存储了若干学生的姓名、学号和3门考试课的成绩
要求:按总分从高到低输出学生成绩记录(按学号、姓名、三门课成绩的顺序)到文件sorted.txt
【输入形式】
文件中每行为一个学生信息,形式为:姓名,学号,成绩1,成绩2,成绩3
【输出形式】
按照总分从高到低输出学生信息到文件sorted.txt,每行一个学生的信息,输出形式为:学号,姓名,成绩1,成绩2,成绩3
【样例输入】
Zhang,2011010101,66,77,88
Li,2011010102,55,48,68
Wang,2011010103,78,87,92
Zhao,2011010104,53,34,55
Liu,2011010105,55,65,75
【样例输出】
2011010103,Wang,78,87,92
2011010101,Zhang,66,77,88
2011010105,Liu,55,65,75
2011010102,Li,55,48,68
2011010104,Zhao,53,34,55
我的
zuizhong=[]
with open('score.txt','r') as f:
for line in f.readlines():
line = line.strip('\n')
line=line.split(',')
line[0],line[1]=line[1],line[0]
zuizhong.append(line)
zuizhong.sort(reverse=True, key=lambda x: sum([float(i) for i in x[2:]]))
with open('sorted.txt','r') as f:
for p in zuizhong:
f.write(i+'\n' for i in zuizhong)
怎么运行不起
喏,代码给你,最佳给我
- zuizhong=[]
- with open('score.txt','rt') as f:
- for line in f:
- line = line.strip()
- line = line.split(',')
- line[0],line[1] = line[1],line[0]
- zuizhong.append(line)
-
- zuizhong.sort(reverse=True, key=lambda x: sum([float(i) for i in x[2:]]))
- with open('sorted.txt','wt') as f:
- for p in zuizhong:
- f.write(p+'\n')
复制代码
|
|