题目: 编程实现查找优异生的功能——用户输入多个学生的成绩,输出总分最高的学生姓名和各科成绩 要求: 设计一个学生类(Student),包括 1)属性:姓名(name),数学成绩(mscore),语文成绩(cscore),英语成绩(escore); 2)方法: 构造方法,来构造每个具体的学生对象 计算总成绩方法getSum(self),返回三个成绩的和 获得优异生姓名,数学成绩,语文成绩,英语成绩的方法getBest(self),返回4个结果内容(优异生姓名,数学成绩,语文成绩,英语成绩)
时间: 2023-12-13 10:07:06 浏览: 125
实验六:学生成绩管理_C语言_程序设计实验_学生成绩管理_
5星 · 资源好评率100%
以下是实现代码:
```python
class Student:
def __init__(self, name, mscore, cscore, escore):
self.name = name
self.mscore = mscore
self.cscore = cscore
self.escore = escore
def getSum(self):
return self.mscore + self.cscore + self.escore
def getBest(self):
return (self.name, self.mscore, self.cscore, self.escore)
# 主程序
students = []
n = int(input("请输入学生人数:"))
for i in range(n):
name = input("请输入第%d个学生的姓名:" % (i+1))
mscore = float(input("请输入第%d个学生的数学成绩:" % (i+1)))
cscore = float(input("请输入第%d个学生的语文成绩:" % (i+1)))
escore = float(input("请输入第%d个学生的英语成绩:" % (i+1)))
student = Student(name, mscore, cscore, escore)
students.append(student)
best = max(students, key=lambda x:x.getSum()).getBest()
print("总分最高的学生是%s,数学成绩为%.2f,语文成绩为%.2f,英语成绩为%.2f。" % (best[0], best[1], best[2], best[3]))
```
运行程序,示例输出如下:
```
请输入学生人数:3
请输入第1个学生的姓名:张三
请输入第1个学生的数学成绩:98
请输入第1个学生的语文成绩:89
请输入第1个学生的英语成绩:92
请输入第2个学生的姓名:李四
请输入第2个学生的数学成绩:87
请输入第2个学生的语文成绩:91
请输入第2个学生的英语成绩:95
请输入第3个学生的姓名:王五
请输入第3个学生的数学成绩:92
请输入第3个学生的语文成绩:93
请输入第3个学生的英语成绩:90
总分最高的学生是张三,数学成绩为98.00,语文成绩为89.00,英语成绩为92.00。
```
阅读全文