Python刚学不久,求解法

文件score.txt中存储了学生的考试信息,内容如下
小明,98 小刚,90 小红,91 小王,98 小刘,80
请写代码,读取文件数据,并进行如下分析
1.最高分和最低分分别是多少?
2.得最高分的学生有几个?得最低分的学生有几个?
3.平均分是多少?

只要算分数吗

with open('score.txt', 'r') as f:
    p = f.read().split()
stu={}
for i in p:
    a = i.split(',')
    stu[a[0]] = int(a[1])

score = list(stu.values())
max_score = max(stu.values())
min_score = min(stu.values())
max_stu = score.count(max_score)
min_stu = score.count(min_score)
avg_score = sum(score)/len(score)

print(max_score, min_score, max_stu,min_stu, avg_score)

读取文件数据存列表或者字典中,然后遍历。

with open('score.txt','r') as f:
    data = f.read()

data = [s.split(',') for s in data.strip().split()]

dic = {d[0]:d[1] for d in data}

scores = list(map(int,dic.values()))
#print(scores)

smax, smin = max(scores), min(scores)

tmax, tmin = scores.count(smax), scores.count(smin)

average = sum(scores)/len(scores)

print('1.最高分和最低分分别为:',smax, smin)
print(f'2.得最高分的学生有{tmax}个,得最低分的学生有{tmin}个。')
print(f'3.平均分是多少:', average)

'''
输出结果:
#[98, 90, 91, 98, 80]
1.最高分和最低分分别为: 98 80
2.得最高分的学生有2个,得最低分的学生有1个。
3.平均分是多少: 91.4
'''