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、按照数学分数排序输出相应信息


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

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