编写一个程序,已有若干学生的数据,包括学号、姓名、成绩,要求输出这些学生的 数据并计算出学生人数和平均成绩(要求将学生人数和总成绩用静态数据成员表示)。
时间: 2024-06-10 17:04:29 浏览: 355
好的,我可以帮你编写这个程序。以下是示例代码:
```python
class Student:
count = 0
total_score = 0
def __init__(self, number, name, score):
self.number = number
self.name = name
self.score = score
Student.count += 1
Student.total_score += score
def display(self):
print("学号:{},姓名:{},成绩:{}".format(self.number, self.name, self.score))
@staticmethod
def show_statistics():
average_score = Student.total_score / Student.count
print("学生人数为:{},平均成绩为:{:.2f}".format(Student.count, average_score))
s1 = Student("001", "张三", 90)
s2 = Student("002", "李四", 85)
s3 = Student("003", "王五", 92)
for s in [s1, s2, s3]:
s.display()
Student.show_statistics()
```
输出结果如下:
```
学号:001,姓名:张三,成绩:90
学号:002,姓名:李四,成绩:85
学号:003,姓名:王五,成绩:92
学生人数为:3,平均成绩为:89.00
```
在这个程序中,我们定义了一个 `Student` 类来表示学生对象。每个学生对象包括学号、姓名、成绩三个属性,同时还有一个 `display` 方法用来输出学生的数据。静态数据成员 `count` 和 `total_score` 分别用来统计学生人数和总成绩,其中 `count` 和 `total_score` 都是类级别的属性,因此可以在类中的任何方法中使用。
在主程序中,我们创建了三个学生对象,并遍历打印每个学生的数据。最后,我们调用 `show_statistics` 静态方法来输出学生人数和平均成绩。
阅读全文