题目要求: 计算student_grade.txt 中 语文成绩的平均值, 找出数学成绩最高的学生是谁

方法一:

with open(‘student_grade.txt‘, ‘r‘, encoding=‘utf-8‘) as f:

data = f.read() #读取student_grade.txt的内容给data(文本)

data_lines=data.splitlines() #把文本转换成列表,同时去掉换行

empty={} #定义一个空字典

for i in data_lines:

data_list=i.split(‘‘)

empty[data_list[0]]=data_list[1:] #遍历列表data_lines中的每个元素,去掉‘‘后生成姓名和成绩对应的字典.

empty.pop(‘姓名‘) #弹出标题行

shuxue=0

yuwen=0

for k,v in empty.items():

yuwen=yuwen+int(v[0]) #遍历字典,求语文成绩的总和

if int(v[1])>shuxue:

shuxue=int(v[1]) #遍历字典empty,求出最高的数学成绩

name=k

print(name+‘同学的数学成绩最高,为%d分.‘%shuxue,‘

‘,‘语文成绩的平均值为%d分.‘%(yuwen/len(empty)))

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐