关于#自定义#的问题,如何解决?(语言-python)

已知一字典my_dict={“张蓉”:{“大学计算机基础”:90,”高等数学”:80,”大学英语”:80},“李斌”: {“大学计算机基础”:87,”高等数学”:82,”大学英语”:85},”李晓伟”: {“大学计算机基础”:94,”高等数学”:86,”大学英语”:90}},新编一程序,通过自定义函数的方式,实现自动统计字典中各同学所有课程的总成绩和平均成绩。


def auto_count(my_dict):
    for name in my_dict.keys():
        csum = 0
        for course in my_dict[name].keys():
            csum += my_dict[name][course]
        my_dict[name]["总成绩"] = csum
        my_dict[name]["平均成绩"] = csum/len(my_dict[name].keys())


my_dict={"张蓉":{"大学计算机基础":90,"高等数学":80,"大学英语":80},"李斌": {"大学计算机基础":87,"高等数学":82,"大学英语":85},"李晓伟": {"大学计算机基础":94,"高等数学":86,"大学英语":90}}
auto_count(my_dict)
for name in my_dict.keys():
    print("%s总成绩:%d,平均成绩:%d"%(name,my_dict[name]["总成绩"],my_dict[name]["平均成绩"]))

这个就是解析,然后计算即可

def calc(d):
    for k, v in d.items():
        t = list(zip(*v.items()))
        print(f"{k}:总成绩:{sum(t[1])} 平均成绩:{sum(t[1])/len(t[1]):.3f}")


my_dict={'张蓉':{'大学计算机基础':90,'高等数学':80,'大学英语':80},
         '李斌': {'大学计算机基础':87,'高等数学':82,'大学英语':85},
         '李晓伟': {'大学计算机基础':94,'高等数学':86,'大学英语':90}
         }

calc(my_dict)
"""
--result
张蓉:总成绩:250 平均成绩:83.333
李斌:总成绩:254 平均成绩:84.667
李晓伟:总成绩:270 平均成绩:90.000
"""