3.现有学生类及其子类研究生类,学生类包含私有成员变量name ,credit(学分); 研究生类还有自己的私有变量postcredit; 学生类包括方法getname ()和getcridit(),研究生类除继承上述方法外,还有自己的setpostcredit方法,现需创建一个研究生并设置其postcredit,另建立学生数组(研究生作为其一个元素),要求打印输出该学生数组的姓名和学分信息。
时间: 2024-03-27 11:35:25 浏览: 49
好的,我来帮你解决这个问题。
首先,我们需要定义一个学生类和一个研究生类,研究生类继承自学生类,并在研究生类中添加自己的私有变量postcredit和方法setpostcredit。
代码如下:
```python
class Student:
def __init__(self, name, credit):
self.name = name
self.credit = credit
def getname(self):
return self.name
def getcredit(self):
return self.credit
class GraduateStudent(Student):
def __init__(self, name, credit, postcredit):
super().__init__(name, credit)
self.postcredit = postcredit
def setpostcredit(self, postcredit):
self.postcredit = postcredit
```
接下来,我们需要创建一个研究生对象并设置其postcredit。然后,我们创建一个学生数组,并将研究生对象添加到其中。
代码如下:
```python
graduate_student = GraduateStudent("张三", 80, 20)
graduate_student.setpostcredit(30)
students = [Student("李四", 70), graduate_student, Student("王五", 60)]
```
最后,我们需要打印输出学生数组的姓名和学分信息。
代码如下:
```python
for student in students:
print("姓名:{},学分:{}".format(student.getname(), student.getcredit()))
```
完整代码如下:
```python
class Student:
def __init__(self, name, credit):
self.name = name
self.credit = credit
def getname(self):
return self.name
def getcredit(self):
return self.credit
class GraduateStudent(Student):
def __init__(self, name, credit, postcredit):
super().__init__(name, credit)
self.postcredit = postcredit
def setpostcredit(self, postcredit):
self.postcredit = postcredit
graduate_student = GraduateStudent("张三", 80, 20)
graduate_student.setpostcredit(30)
students = [Student("李四", 70), graduate_student, Student("王五", 60)]
for student in students:
print("姓名:{},学分:{}".format(student.getname(), student.getcredit()))
```
输出结果如下:
```
姓名:李四,学分:70
姓名:张三,学分:80
姓名:王五,学分:60
```
阅读全文