用python写 任务描述 本关任务: 商场举办双节答谢活动,有两项活动可以参加 报名参加活动1的会员编号放在集合lb1中 报名参加活动2的会员编号放在集合lb2中 将同时参加两项活动的会员编号,只参加活动1的会员编号,只参加活动2的会员编号分别显示出来,按照会员号从小到达输出 测试说明 平台会对你编写的代码进行测试: 输入为两行整数,每个数用逗号隔开,其中第一个数是报名这项活动的人数,后面是这些人的会员编号。例如有7个人报名活动1,6个人报名活动2: 7,2001,2008,2030,1995,2506,1997,3009 6,2030,1995,2506,3004,2515,9006 预期输出: 两项活动都参加:1995, 2030, 2506 只参加活动1:1997, 2001, 2008, 3009 只参加活动2:2515, 3004, 9006 踮起脚尖,就更接近阳光。
时间: 2023-10-15 22:02:09 浏览: 133
好的,可以使用以下代码实现:
```python
# 获取输入数据
n1, *lb1 = map(int, input().split(','))
n2, *lb2 = map(int, input().split(','))
# 将列表转换成集合
lb1 = set(lb1)
lb2 = set(lb2)
# 找出同时参加两项活动的会员编号
both = sorted(list(lb1 & lb2))
# 找出只参加活动1的会员编号
only1 = sorted(list(lb1 - lb2))
# 找出只参加活动2的会员编号
only2 = sorted(list(lb2 - lb1))
# 输出结果
print("两项活动都参加:" + ', '.join(map(str, both)))
print("只参加活动1:" + ', '.join(map(str, only1)))
print("只参加活动2:" + ', '.join(map(str, only2)))
```
首先通过 `input()` 获取输入数据,使用 `map()` 将输入的字符串转换成整数列表,然后使用 `set()` 将列表转换成集合。
接着,使用集合的交集、差集等操作分别找出同时参加两项活动的会员编号、只参加活动1的会员编号、只参加活动2的会员编号,并对它们进行排序。最后,使用字符串拼接和 `join()` 方法将结果输出。
注意:代码中使用了 `*` 运算符和列表/集合解构,可以方便地将输入的第一个数(报名人数)和其余的会员编号分开。
阅读全文