设计描述学生成绩单(包括学号、姓名和三门课成绩)的数据类型, 编写要求如下: 1、输入4名学生的信息 2、输入4名学生的信息 3、输出每个人的平均成绩和总成绩(注意均分的数据类型为浮点类型,各科成绩数据类型为整型) 4、输出每门课程的平均分
时间: 2024-02-22 12:57:03 浏览: 150
为了实现这个需求,可以使用以下的数据结构:
```python
class Student:
def __init__(self, id, name, grade1, grade2, grade3):
self.id = id
self.name = name
self.grade1 = grade1
self.grade2 = grade2
self.grade3 = grade3
def total_grade(self):
return self.grade1 + self.grade2 + self.grade3
def average_grade(self):
return (self.grade1 + self.grade2 + self.grade3) / 3.0
```
然后,我们可以使用这个数据结构来输入每个学生的信息,并计算他们的总成绩和平均成绩:
```python
students = []
for i in range(4):
id = input("请输入学生{}的学号:".format(i+1))
name = input("请输入学生{}的姓名:".format(i+1))
grade1 = int(input("请输入学生{}的第一门成绩:".format(i+1)))
grade2 = int(input("请输入学生{}的第二门成绩:".format(i+1)))
grade3 = int(input("请输入学生{}的第三门成绩:".format(i+1)))
student = Student(id, name, grade1, grade2, grade3)
students.append(student)
for student in students:
print("{}的总成绩为{},平均成绩为{}".format(student.name, student.total_grade(), student.average_grade()))
grade1_sum = 0
grade2_sum = 0
grade3_sum = 0
for student in students:
grade1_sum += student.grade1
grade2_sum += student.grade2
grade3_sum += student.grade3
print("第一门课程的平均分为:{}".format(grade1_sum / 4.0))
print("第二门课程的平均分为:{}".format(grade2_sum / 4.0))
print("第三门课程的平均分为:{}".format(grade3_sum / 4.0))
```
这样,我们就实现了输入学生信息、计算总成绩和平均成绩、计算每门课程平均分的功能。
阅读全文