1.键盘输入张嘉译学习的课程名称及考分等信息,信息间采用空格分隔,每个课程一行,空行回车结束录入,示例格式如:
数学 98
语文 89
英语 94
物理 74
科学 87
输出得分最高的课程及成绩,得分最低的课程及成绩,以及平均分(保留两位小数),输出结果保存至考生文件夹下,命名为“1.txt”
fo=open("1.txt","w")
data=input("请输入课程名及对应的成绩:")
course_score_dict={
}
while data:
course,score=data.split(' ')
course_score_dict[course]=eval(score) # 课程名为键,成绩为值
data=input("请输入课程名及对应的成绩:")
score_list=sorted(list(course_score_dict.values()))
# 将字典转换成列表,values()返回所有值的信息,对成绩进行排序
max_score,min_score=score_list[-1],score_list[0]
avg_score=sum(score_list)/len(score_list)
max_course,min_course='','' # 设为空字符串
for item in course_score_dict.items(): # items方法遍历元组,元组里是键值对
if item[1]==max_score: # 因为(键,值),值为最大成绩时,最高分课程则为元组里的键
max_course=item[0]
if item[1]==min_score:
min_course=item[0]
fo.write("最高分课程是{}{},最低分课程是{}{},平均分是{:.2f}".format
(max_course,max_score,min_course,min_score,avg_score))
fo.close()