建立Person类,包含姓名,年龄信息,教师类和工人类继承Person类,分别含有任职学校;工龄。输入操作次数n,接下来n行输入“类型 姓名 年龄 特有参数”,中间以空格分隔,最后输入查询职业,按行按输入顺序输出该职业的人的信息,格式为“工人某某,多少岁,工龄多少年”或者“教师某某,多少岁,在某校教书”,或”NOT FOUND”
时间: 2023-11-24 07:05:57 浏览: 18
以下是Python代码实现:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
class Teacher(Person):
def __init__(self, name, age, school):
super().__init__(name, age)
self.school = school
class Worker(Person):
def __init__(self, name, age, work_years):
super().__init__(name, age)
self.work_years = work_years
n = int(input())
people = []
for i in range(n):
inputs = input().split()
if inputs[0] == '教师':
people.append(Teacher(inputs[1], int(inputs[2]), inputs[3]))
elif inputs[0] == '工人':
people.append(Worker(inputs[1], int(inputs[2]), int(inputs[3])))
job = input()
found = False
for person in people:
if isinstance(person, Teacher) and job == '教师':
print('教师%s,%d岁,在%s教书' % (person.name, person.age, person.school))
found = True
elif isinstance(person, Worker) and job == '工人':
print('工人%s,%d岁,工龄%d年' % (person.name, person.age, person.work_years))
found = True
if not found:
print('NOT FOUND')
```
运行示例:
输入:
```
4
教师张三 30 北大
工人李四 25 3
教师王五 40 清华
工人赵六 35 10
教师
```
输出:
```
教师张三,30岁,在北大教书
教师王五,40岁,在清华教书
```
输入:
```
3
教师张三 30 北大
工人李四 25 3
工人王五 40 10
教师
```
输出:
```
NOT FOUND
```