每个学生的信息应包括:学号、姓名、性别、出生日期、C语言程序设计、数字逻辑和数学建按每个学生的三门课的平均成绩从高到低的顺序,输出学生信息
时间: 2023-12-16 19:55:29 浏览: 105
好的,那我们可以先定义一个学生类 `Student`,包括上述信息和计算平均分的方法。
```python
class Student:
def __init__(self, student_id, name, gender, birth_date, c_score, logic_score, math_score):
self.id = student_id
self.name = name
self.gender = gender
self.birth_date = birth_date
self.c_score = c_score
self.logic_score = logic_score
self.math_score = math_score
def average_score(self):
return (self.c_score + self.logic_score + self.math_score) / 3
```
接下来,我们可以定义一个列表 `students` 来保存所有学生的信息,并按照平均分从高到低排序,最后输出每个学生的信息。
```python
# 定义学生信息
students = [
Student("001", "张三", "男", "2000-01-01", 90, 80, 70),
Student("002", "李四", "女", "2001-02-02", 85, 90, 95),
Student("003", "王五", "男", "1999-03-03", 92, 88, 84),
Student("004", "赵六", "女", "1998-04-04", 78, 82, 86)
]
# 按照平均分从高到低排序
students.sort(key=lambda x: x.average_score(), reverse=True)
# 输出每个学生的信息
for student in students:
print(f"学号:{student.id},姓名:{student.name},性别:{student.gender},出生日期:{student.birth_date},平均分:{student.average_score():.2f}")
```
输出结果如下:
```
学号:003,姓名:王五,性别:男,出生日期:1999-03-03,平均分:88.00
学号:001,姓名:张三,性别:男,出生日期:2000-01-01,平均分:80.00
学号:002,姓名:李四,性别:女,出生日期:2001-02-02,平均分:90.00
学号:004,姓名:赵六,性别:女,出生日期:1998-04-04,平均分:82.00
```
阅读全文