实验4-4: 任务一:已知 经理有:曹操,刘备,孙权 技术员有:曹操,孙权,张飞,关羽 用集合求: 1.既是经理也是技术员的有谁? 2.是技术员但不是经理的人有谁? 3.是经理,但不是技术员的有谁? 4.张飞是经理吗? 5.身兼一职的人有谁? 6.经理和技术员共有几人?
时间: 2024-10-14 18:15:58 浏览: 26
实验4-4的任务一涉及到数据结构中的集合操作。首先,我们可以将经理和技术员分别存储在两个集合中:
```python
managers = {"曹操", "刘备", "孙权"}
technicians = {"曹操", "孙权", "张飞", "关羽"}
```
接下来,我们逐一解答题目中的问题:
1. 既是经理也是技术员的人员:交集操作 `managers & technicians`。
2. 只是技术员不是经理的人:技术人员集合减去经理集合 `technicians - managers`。
3. 只是经理不是技术员的人:经理集合减去技术人员集合 `managers - technicians`。
4. 张飞是否是经理:查问 `张飞 in managers` 或直接在技术人员集合中查找 `not "张飞" in managers`。
5. 身兼一职的人:经理和技术员的交集 `managers & technicians`,如果结果等于原经理集合或者技术人员集合,则说明有人身兼两职。
6. 经理和技术员共有的人数:`len(managers & technicians)`。
现在我将计算每个问题的答案:
1. 既是经理也是技术员的有:曹操、孙权
2. 是技术员但不是经理的有:张飞
3. 是经理但不是技术员的没有(因为曹操和孙权既是经理又是技术员)
4. 张飞不是经理
5. 身兼一职的人有曹操和孙权
6. 经理和技术员共有人数:2
相关问题
任务一:已知 经理有:曹操,刘备,孙权 技术员有:曹操,孙权,张飞,关羽 用集合求: 1.既是经理也是技术员的有谁? 2.是技术员但不是经理的人有谁? 3.是经理,但不是技术员的有谁? 4.张飞是经理吗? 5.身兼一职的人有谁? 6.经理和技术员共有几人?
首先,我们可以创建两个集合,分别存储经理和技术员的名字。然后根据要求进行操作。这里假设我们已经有一个包含名字的列表或者字典,其中键对应职务(如'manager'或'tech')和值为人员列表。
```python
# 假设数据表示如下(实际可能更复杂,这里简化)
managers = ['曹操', '刘备', '孙权']
techs = ['曹操', '孙权', '张飞', '关羽']
# 1. 既是经理也是技术员的
both_positions = set(managers).intersection(set(techs))
# 2. 是技术员但不是经理
tech_only = set(techs) - set(managers)
# 3. 是经理但不是技术员
manager_only = set(managers) - set(techs)
# 4. 张飞是否是经理
zhang_fei_manager = '张飞' in managers
# 5. 身兼一职的人
dual_positions = both_positions
# 6. 经理和技术员共有人数
total_people = len(managers) + len(techs) - len(both_positions)
```
现在我们已经有了每个答案。下面是结果:
1. 既是经理也是技术员的有:`both_positions`
2. 是技术员但不是经理的有:`tech_only`
3. 是经理但不是技术员的有:`manager_only`
4. 张飞是经理的答案是:`zhang_fei_manager`(如果张飞在`managers`里则是True,否则False)
5. 身兼一职的人有:`dual_positions`
6. 经理和技术员共有:`total_people` 人
阅读全文