|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
参考代码,直接回车则停止输入:
- data = []
- with open('score.txt', 'w', encoding='utf-8') as f:
- user_input = input("请输入学生信息:")
- while user_input:
- temp = user_input.split(',')
- temp[0], temp[1] = temp[1], temp[0]
- data.append(temp)
- user_input = input("请输入学生信息:")
- else:
- data.sort(reverse=True, key=lambda x: sum([float(i) for i in x[2:]]))
- f.writelines([','.join(i)+'\n' for i in data])
复制代码
|
|