文件处理 • 将学生的名字和每次的分数一次存到一个txt文件里,存储格式为:每行一个记录,以逗号进行分割,如:
yh,100
yh,99
zmy,100
yh,96
zmy,100
读取该文件,记录同一个学生的所有分数和提交次数,计算学生的平均分数,并将其姓名,总分数,提交次数,平均分数保存到另一个txt中。
python 写入文件 记录同一个学生
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 with open('a.txt', 'r', encoding='utf-8') as f: p = f.readlines() stu_dict = {} for i in [x.split(",") for x in p]: if stu_dict.get(i[0]): stu_dict[i[0]]['总分'] += eval(i[1]) stu_dict[i[0]]['提交次数'] += 1 stu_dict[i[0]]['平均分'] = round(stu_dict[i[0]]['总分'] / stu_dict[i[0]]['提交次数'], 2) else: stu_dict[i[0]] = {'总分': eval(i[1]), '提交次数':1, '平均分':eval(i[1])} s='' for key, value in stu_dict.items(): s += f'姓名:{key}\n' for key2, value2 in value.items(): s += f'{key2}:{value2}\n' with open('b.txt', 'w', encoding='utf-8') as f: f.write(s)
显示结果:
姓名:yh 总分:295 提交次数:3 平均分:98.33 姓名:zmy 总分:200 提交次数:2 平均分:100.0
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 安装opengauss数据库报错
- ¥15 【急】在线问答CNC雕刻机的电子电路与编程
- ¥60 在mc68335芯片上移植ucos ii 的成功工程文件
- ¥15 笔记本外接显示器正常,但是笔记本屏幕黑屏
- ¥15 Python pandas
- ¥15 蓝牙硬件,可以用哪几种方法控制手机点击和滑动
- ¥15 生物医学数据分析。基础课程就v经常唱课程舅成牛逼
- ¥15 云环境云开发云函数对接微信商户中的分账功能
- ¥15 空间转录组CRAD遇到问题
- ¥20 materialstudio计算氢键脚本问题