m0_59323834 2021-10-29 17:19 采纳率: 92.3%
浏览 71
已结题

python题目求解答,求解答

创建如下字典,键值是姓名,对应的值分别是数学、Python和英语的成绩scores = {"Zhang San": [45,60,80] "Li Si": [78,80,90], "Wang Wu": [40,59,60]}1、基于上述字典创建一个平均分的字典2、输出所有不及格的信息,如“数学 Zhang San、Wang Wu不及格3、按照数学分数排序输出相应信息

  • 写回答

1条回答 默认 最新

  • Fioman_Hammer 2021-10-29 17:40
    关注
    
    scores = {"Zhang San": [45,60,80], "Li Si": [78,80,90], "Wang Wu": [40,59,60]}
    # 平均分字典
    averScores = {key:sum(scores[key])/len(scores.values()) for key in scores}
    print("平均分字典: {}".format(averScores))
    
    # 2. 输出所有的不及格的信息
    failMath = []
    failPython = []
    failEnglish = []
    # 遍历字典
    for name,grades in scores.items():
        for i in range(3):
            if grades[i] < 60:
                if i == 0:
                    failMath.append(name)
                elif i == 1:
                    failPython.append(name)
                elif i == 2:
                    failEnglish.append(name)
    print("不及格信息如下: ")
    print("数学: {}".format(",".join(failMath) if len(failMath) > 0 else "无"))
    print("Python: {}".format(",".join(failPython) if len(failPython) > 0 else "无"))
    print("英语: {}".format(",".join(failEnglish) if len(failEnglish) > 0 else "无"))
    
    # 按照数学分数从高到低进行排序,如果想要从低到高,将reverse=True改成False
    scoresSorted = sorted(scores.items(),key=lambda x:x[1][0],reverse=True) 
    for name,grade in scoresSorted:
        print(name,grade)
    

    img

    如果觉得答案对你有帮助,请点击下采纳,谢谢~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月4日
  • 已采纳回答 11月26日
  • 创建了问题 10月29日

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器