Python文件内容读取成绩单,计算出平均分并且写入原文件存储

时间: 2023-07-29 admin 互联网

Python文件内容读取成绩单,计算出平均分并且写入原文件存储

Python文件内容读取成绩单,计算出平均分并且写入原文件存储

python文件内容读取成绩单,计算出平均分并且写入原文件存储

文件内容如下:( 格式参考下表, 内容自己定义)

姓名 语文 数学 英语

aaa 80 70 65

bbb 85 88 90

ccc 76 78 75

with open('D:\\studypython\\成绩单.txt','r',encoding='utf-8') as fp:
    s = fp.readline()   #先读第一行的文字
    s = s[0:-1]+' 平均分\n'
    t = fp.readlines()  #再读名字和成绩
    for stu in t:
       stu_grade = stu.split()  
       a = int(stu_grade[1])
       b = int(stu_grade[2])
       c = int(stu_grade[3])
       avg = (a+b+c)/len(t)  # 计算个人总成绩的平均分
       stu_grade.append(str(avg))  #将计算出来的平均成绩加入成绩单中
       stu_grade_str = ' '.join(stu_grade)+'\n'   #将成绩单从list转为str
       s = s + stu_grade_str   #将成绩和科目文字连接
    print(s)
    fp.close()
with open('D:\\studypython\\成绩单.txt','w') as fp:
     
    fp.writelines(s)
    fp.close()

写入后记事本的内容如下图:

如果你在写的时候出现了以下错误,可以这样修改:
1.
可能你上一次修改记事本没有保存?你可以再执行上面的从开始到s输出哪里的代码,再写进去文件一次。


这里是因为你把数据写进文件后,记事本的编码变成了ANSI,然后你又使用这个记事本,然而的是utf-8编码的文件。
你可以将记事本另存为,在右下框将编码改为utf-8,再替换原来那个文件。

暂时想到的问题只有这么多了,欢迎补充!
也欢迎大神来指教!!!