7.1编程实现10个学生的成绩管理系统,学生信息包括:学生学号、姓名和3门课程的成绩及平均成绩。要求如下: (1)在主函数中编写一个提示菜单,根据输入菜单的编号调用相应函数。 (2)用input函数来输入数据 (3)用aver函数求各学生的平均成绩。 (4)用sort函数实现按学生平均成绩排序。 (5)用print函数来输出所有学生的信息 .
时间: 2024-03-01 13:51:31 浏览: 160
学生成绩管理系统:主要实现的功能有教师管理、学生管理、课程管理、学生成绩管理
好的,我可以帮您解答这个问题。以下是Python代码实现:
```python
def inputInfo():
# 输入学生信息和成绩
stu_info = []
for i in range(10):
info = {}
info['id'] = input("请输入第%d个学生的学号:" % (i+1))
info['name'] = input("请输入第%d个学生的姓名:" % (i+1))
info['score1'] = int(input("请输入第%d个学生的第一门成绩:" % (i+1)))
info['score2'] = int(input("请输入第%d个学生的第二门成绩:" % (i+1)))
info['score3'] = int(input("请输入第%d个学生的第三门成绩:" % (i+1)))
stu_info.append(info)
return stu_info
def aver(stu_info):
# 计算每个学生的平均成绩
for i in range(10):
stu_info[i]['average'] = (stu_info[i]['score1'] + stu_info[i]['score2'] + stu_info[i]['score3']) / 3
return stu_info
def sortInfo(stu_info):
# 按平均成绩排序
stu_info.sort(key=lambda x:x['average'], reverse=True)
return stu_info
def printInfo(stu_info):
# 输出所有学生信息
for i in range(10):
print("学号:%s,姓名:%s,平均成绩:%.2f,成绩1:%d,成绩2:%d,成绩3:%d" % (stu_info[i]['id'], stu_info[i]['name'], stu_info[i]['average'], stu_info[i]['score1'], stu_info[i]['score2'], stu_info[i]['score3']))
def main():
stu_info = inputInfo()
stu_info = aver(stu_info)
stu_info = sortInfo(stu_info)
printInfo(stu_info)
if __name__ == '__main__':
main()
```
运行程序后,会提示您输入每个学生的信息和成绩,然后计算每个学生的平均成绩,按平均成绩排序后输出所有学生的信息。
阅读全文