[Python3]编写程序实现:输入一个字典内容,包含若干学生的课程成绩,统计每门课程的平均分,并按从高到低的顺序输出课程及其平均分(保留1位小数)。输入样例:输入一个字典内容,例如:{‘徐丽‘:

编写程序实现:输入一个字典内容,包含若干学生的课程成绩,统计每门课程的平均分,并按从高到低的顺序输出课程及其平均分(保留1位小数)。

输入样例:

输入一个字典内容,例如:

{'徐丽': {'语文': 88, '数学': 90, '英语': 98, '科学': 95},'张兴': {'语文': 85, '数学': 92, '英语': 95, '科学': 98},'刘宁': {'语文': 89, '数学': 89, '英语': 90, '科学': 92},'张旭': {'语文': 82, '数学': 86, '英语': 89, '科学': 90}}

输出样例:

按从高到低的顺序输出课程及其平均分(保留1位小数):

科学平均93.8分
英语平均93.0分
数学平均89.2分
语文平均86.0分

实际测试数据的学生数量、课程名称、课程数量和样例不同。

scores = {'徐丽': {'语文': 88, '数学': 90, '英语': 98, '科学': 95},
          '张兴': {'语文': 85, '数学': 92, '英语': 95, '科学': 98},
          '刘宁': {'语文': 89, '数学': 89, '英语': 90, '科学': 92},
          '张旭': {'语文': 82, '数学': 86, '英语': 89, '科学': 90}}

# 计算每门课程的总分和学生人数
course_total = {}
course_count = {}
for name, course_scores in scores.items():
    for course, score in course_scores.items():
        course_total[course] = course_total.get(course, 0) + score
        course_count[course] = course_count.get(course, 0) + 1

# 计算每门课程的平均分
course_avg = {}
for course, total in course_total.items():
    course_avg[course] = round(total / course_count[course], 1)

# 按平均分从高到低排序并输出结果
for course, avg in sorted(course_avg.items(), key=lambda x: -x[1]):
    print(f'{course}平均{avg}分')

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值