Python 编写一个学生类包含在键盘输入其信息与三科成绩的平均分总分最后输出还可以排序
时间: 2024-05-11 15:15:53 浏览: 7
好的,以下是一个简单的 Python 学生类代码,包含输入学生信息与三科成绩的操作以及计算平均分总分并排序输出的操作。
```python
class Student:
def __init__(self):
self.name = input("请输入学生姓名:")
self.id = input("请输入学生学号:")
self.score1 = float(input("请输入第一科成绩:")) # 第一科成绩
self.score2 = float(input("请输入第二科成绩:")) # 第二科成绩
self.score3 = float(input("请输入第三科成绩:")) # 第三科成绩
# 计算平均分
def avg_score(self):
return (self.score1 + self.score2 + self.score3) / 3
# 计算总分
def total_score(self):
return self.score1 + self.score2 + self.score3
# 输出学生信息与平均分总分
def info(self):
print("姓名:", self.name)
print("学号:", self.id)
print("第一科成绩:", self.score1)
print("第二科成绩:", self.score2)
print("第三科成绩:", self.score3)
print("平均分:", self.avg_score())
print("总分:", self.total_score())
# 输入多个学生信息并存储到列表中
students = []
while True:
s = Student()
students.append(s)
flag = input("是否继续输入?(y/n)")
if flag == "n":
break
# 按照总分从高到低排序并输出学生信息
students.sort(key=lambda x: x.total_score(), reverse=True)
for s in students:
s.info()
```
这段代码中,我们首先定义了一个 `Student` 类,该类包含了学生姓名、学号以及三科成绩的属性,并且实现了计算平均分、总分和输出学生信息的方法。接着,我们使用一个循环输入多个学生的信息,并将其存储在一个列表中。最后,我们按照总分从高到低排序,并输出每个学生的信息。