为什么输出成绩和总是相等,求帮助

n=int(input('输入人数:'))
b_list=[]
a_list=[]
d={}
for i in range(n):
    s=0
    a=input("学号:")
    for j in range(3):
        b=int(input("成绩:"))
        s = s + b
        a_list.append(a)
        b_list.append(b)
    seq1=(a_list)
    dict = dict.fromkeys(seq1, s)
print(" %s " %  str(dict))

你的代码修改如下  (如果对你有帮助,可以给我个采纳吗,谢谢!! 点击我这个回答右上方的【采纳】按钮)

n=int(input('输入人数:'))
b_list=[]
a_list=[]
d={}
for i in range(n):
    s=0
    a=input("学号:")
    for j in range(3):
        b=int(input("成绩:"))
        s = s + b
    # 下面两行要放在for循环外
    a_list.append(a)
    b_list.append(b)
    seq1=(a_list)
    dict = dict.fromkeys(seq1, s)
print(" %s " %  str(dict))

 或者参考下面代码

n = int(input('输入学生人数:'))
m = int(input('输入课程数:'))
d = {}
for i in range(n):
    k = input(f'输入第{i+1}个学生学号:')
    li = []
    for j in range(m):
        s = int(input(f'输入成绩{j+1}:'))
        li.append(s)
    d[k] = li
ds = { k:sum(v) for k,v in d.items() }
print(ds)

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632