score.txt文件中存放了某班学生的学号及三门课程成绩,计算每个同学的三门课程总成绩,并按总分评定等级,240(包括)分以上为“优秀”,180~240分之间为“合格”,180分以下为“不合格”,并按学号、等级两列写入另一个文件level.txt中。同时,统计每个等级的人数,在屏幕上输出。
来位大佬救命
使用pandas解决这个 问题,代码如下:
import pandas as pd
df=pd.read_csv('score.txt',sep=',')
df['总分']=df.iloc[:,1:4].sum(axis=1)
df['等级']=df['总分'].apply(lambda x: '优秀' if x>=240 else '合格' if 180<=x<240 else '不合格')
print(df)
df1=df[['学号','等级']]
df1.to_csv('level.txt',index=False)
levels=df['等级'].value_counts()
print(levels)
运行结果:
学号 思政 微积分 大学英语 总分 等级
0 1001 92 80 82 254 优秀
1 1002 90 93 87 270 优秀
2 1003 55 61 62 178 不合格
3 1004 94 93 92 279 优秀
4 1005 92 95 81 268 优秀
5 1006 75 50 61 186 合格
优秀 4
不合格 1
合格 1
Name: 等级, dtype: int64
如对你有帮助,请点击采纳该答案。