python编写程序有人会吗

编写程序,设计一个嵌套的字典,形式为{姓名1:{课程名称1:分数1,课程名称2:分数2,…},…},输入一些数据,然后计算每个同学的总分、各科平均分。

dic = {}
num = int(input('学生数量:'))
for i in range(num):
    name = input('姓名:')
    dic[name] = {}
    count = int(input('课程数量:'))
    for j in range(count):
        classname = input('课程名字:')
        gra = int(input('成绩:'))
        dic[name][classname] = gra
 
for k,v in dic.items():
    sumk = 0
    maxk = 0
    count =0
    for k1,v1 in v.items():
        sumk += v1
        count +=1
        if maxk < v1:
            maxk = v1
    print('{}最高分{},平均分{}'.format(k,maxk,sumk/count))


得到一个字典后,分数不用循环计算,用现成的函数比较方便:

dic = {}
num = int(input('学生数量:'))
for i in range(num):
    name = input('姓名:')
    dic[name] = {}
    count = int(input('课程数量:'))
    for j in range(count):
        classname = input('课程名字:')
        dic[name][classname] = int(input('成绩:'))

for k,v in dic.items():
    total = sum(v.values())
    s_max = max(v.values())
    mean = total/len(v.values())
    print(f'姓名:{k} 总分:{total} 最高分:{s_max} 平均分:{mean}')