设计一个教师类Teacher,要求如下:1.基本特征包括工号,姓名,学生成绩(声明一维数组存储学生成绩,从键盘接收学生个数)2.设计一个能初始化工号、姓名的构造方法;另一个构造方法能初始化所有教师特征
时间: 2024-03-09 22:45:50 浏览: 75
好的,根据您的要求,我为您设计了一个教师类Teacher,代码如下:
```python
class Teacher:
def __init__(self, id=None, name=None, scores=None):
self.id = id
self.name = name
self.scores = scores or []
def input_scores(self):
n = int(input("请输入学生个数:"))
for i in range(n):
score = float(input("请输入第{}个学生的成绩:".format(i+1)))
self.scores.append(score)
def __str__(self):
return "工号:{},姓名:{},学生成绩:{}".format(self.id, self.name, self.scores)
```
这个教师类包含工号、姓名和学生成绩三个基本特征,以及一个一维数组scores用于存储学生成绩。在构造函数__init__中,我为这个类设计了两个构造方法。第一个构造方法能够初始化工号和姓名,同时将scores数组初始化为空。第二个构造方法能够初始化所有教师特征,包括工号、姓名和学生成绩。这里使用了可选参数的方式,即如果不传入scores参数,则默认初始化为空数组。
在这个类中,我还为它定义了一个input_scores方法,用于从键盘输入学生成绩,并将其存储在scores数组中。在这个方法中,首先通过input函数获取学生个数n,然后使用for循环n次,分别获取每个学生的成绩,并将其添加到scores数组中。
最后,我还为这个类定义了一个__str__方法,用于将教师对象转换为字符串表示。在这个方法中,我使用了Python的字符串格式化功能,将工号、姓名和学生成绩格式化为一个字符串返回。
阅读全文