编写一个学生和教师的数据输入和显示程序。学生数据有学号,姓名,年龄,学院,教师数据有工号,姓名,年龄,职称,部门。要求将姓名,年龄,输入和显示函数封装成一个类person,作为学生和教师类的基类。
时间: 2024-02-26 08:51:39 浏览: 42
好的,我可以帮您编写这个程序。以下是代码实现:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def input(self):
pass
def display(self):
pass
class Student(Person):
def __init__(self, name, age, stu_id, department):
super().__init__(name, age)
self.stu_id = stu_id
self.department = department
def input(self):
self.stu_id = input("请输入学生的学号:")
self.department = input("请输入学生的学院:")
def display(self):
print("学生姓名:", self.name)
print("学生年龄:", self.age)
print("学生学号:", self.stu_id)
print("学生学院:", self.department)
class Teacher(Person):
def __init__(self, name, age, tea_id, title, department):
super().__init__(name, age)
self.tea_id = tea_id
self.title = title
self.department = department
def input(self):
self.tea_id = input("请输入教师的工号:")
self.title = input("请输入教师的职称:")
self.department = input("请输入教师的部门:")
def display(self):
print("教师姓名:", self.name)
print("教师年龄:", self.age)
print("教师工号:", self.tea_id)
print("教师职称:", self.title)
print("教师部门:", self.department)
# 测试代码
student = Student("张三", 18, "20210001", "计算机科学与技术")
student.input()
student.display()
teacher = Teacher("李四", 30, "1001", "教授", "计算机科学与技术")
teacher.input()
teacher.display()
```
以上代码定义了一个 `Person` 类作为学生和教师类的基类,其中包含了姓名和年龄两个属性以及输入和显示两个方法。学生和教师类都继承自 `Person` 类,分别添加了学号和学院、工号、职称和部门等属性,并重写了输入和显示方法。
在测试代码中,我们创建了一个学生和一个教师对象,并分别调用了它们的输入和显示方法,输出了它们的信息。