请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
首页 社区 Python 如何用python的字典和列表来实现学生成绩管理? ...

如何用python的字典和列表来实现学生成绩管理?

猿梦 2022-12-30 21:19:18
下面是一个使用 Python 的字典和列表来实现学生成绩管理的简单例子。此例子实现了所有要求,但没有使用定义学生结构体类型和数组:# 定义学生数据字典students = []# 定义输入函数def input_student():while True:student = {}student['id'] = input('学号: ')student['class'] = input('班级: ')student['name'] = input('姓名: ')student['scores'] = []for i in range(3):score = input('第%d门课程成绩: ' % (i + 1))student['scores'].append(score)students.append(student)if input('是否继续输入(y/n): ') != 'y':break# 定义求平均分函数def average_score():for student in students:total = 0for score in student['scores']:total += scorestudent['average'] = total / len(student['scores'])# 定义求最高平均分函数def max_average():max_student = Nonemax_average = 0for student in students:if student['average'] > max_average:max_student = studentmax_average = student['average']return max_student# 调用输入函数input_student()# 调用求平均分函数average_score()# 输出每个学生的3门课程平均分for student in students:print('学号: %s, 班级: %s, 姓名: %s, 平均分: %.2f' % (student['id'], student['class'], student['name'], student['average']))# 调用求最高平均分函数max_student = max_average()# 输出最高平均分的学生信息if max_student:print('\n平均分最高的学生: 学号: %s, 班级: %s, 姓名: %s, 3门课程成绩: %s, 平均分: %.2f' % (max_student['id'], max_student['class'], max_student['name'], max_student['scores'], max_student['average']))在上面的例子中,我们定义了一个学生数据字典,用于存储学生信息。然后定义了三个函数,分别用于输入学生信息、求每个学生3门课程的平均分和求平均分最高的学生。最后,在主函数中调用这三个函数,并输出结果。

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册