录入了俩位学生的成绩及信息,通过班级输出学生成绩单,但只能出一个学生的成绩

def print_score_by_class():
student_class = input("请输入要查询的班级:")
for student in students:
if student['班级'] == student_class:
print(student['姓名'], '语文:', student['语文成绩'], '数学:', student['数学成绩'], '英语:', student['英语成绩'])
return
print("不存在该班级")

根据你提供的代码,只能输出一个学生的成绩的问题是因为在找到符合条件的学生后就直接返回了,而没有继续查找其他符合条件的学生。你可以修改代码如下来输出整个班级的学生成绩单:

def print_score_by_class():
    student_class = input("请输入要查询的班级:")
    found_students = False
    for student in students:
        if student['班级'] == student_class:
            print(student['姓名'], '语文:', student['语文成绩'], '数学:', student['数学成绩'], '英语:', student['英语成绩'])
            found_students = True
    if not found_students:
        print("不存在该班级")

在这个修改后的代码中,我们使用了一个变量 found_students 来记录是否找到了符合条件的学生。如果找到了至少一个学生,将其设置为 True,如果最终没有找到符合条件的学生,则输出相应的提示信息。

这样修改后,代码将遍历所有的学生,找到符合条件的学生后继续打印,然后继续遍历直到找完所有学生。只有在所有学生都遍历完后,才会输出"不存在该班级"的提示。

请确保你的学生数据列表 students 中包含了所有学生的信息,并且每个学生的信息都包含了班级、姓名和成绩等字段。

这students从哪来的啊?把你的缩进关系体现出来,否则不知道你这代码的逻辑。主要时return到底和print同一层,还是和if同一层,还是和for同一层呢

录入完,你先打印students来看,不要等执行查询函数的时候才发现少了