输出学生或老师信息 建立Person类,学生类和老师类都继承该类并分别含有属性选修课数,教学科目,第一行输入类型(Teacher或Student),第二行输入“姓名 年龄 特有属性”,输出“某某是学生,多少岁,这学期共选了多少门课\”或“某某是老师,多少岁,教什么课\n”
时间: 2023-11-27 18:55:03 浏览: 63
下面是一个简单的 Python 代码示例,实现了你要求的功能:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def info(self):
pass
class Student(Person):
def __init__(self, name, age, num_courses):
super().__init__(name, age)
self.num_courses = num_courses
def info(self):
return f"{self.name}是学生,{self.age}岁,这学期共选了{self.num_courses}门课"
class Teacher(Person):
def __init__(self, name, age, subject):
super().__init__(name, age)
self.subject = subject
def info(self):
return f"{self.name}是老师,{self.age}岁,教{self.subject}课"
input_type = input().strip()
name, age, *args = input().strip().split()
if input_type == "Teacher":
obj = Teacher(name, int(age), args[0])
elif input_type == "Student":
obj = Student(name, int(age), int(args[0]))
print(obj.info())
```
在这个示例中,我们首先定义了一个 `Person` 类,它包含所有人都具有的属性,如姓名和年龄。然后,我们创建了两个子类 `Student` 和 `Teacher`,它们分别添加了特有的属性。每个类都重写了 `info` 方法,以便输出特定于该类的信息。
在主程序中,我们首先读取输入类型,然后根据输入类型创建相应的对象。最后,我们调用 `info` 方法输出对象的信息。