征婚匹配
问题
Romeo(罗密欧)是一个 NS GSOH M Veronian(不抽烟,生活在维罗纳,很有幽默感的男性)。Juliet(朱丽叶)WLTM(愿意找一个)NS GSOH M,Romeo 能成吗?
Suitor 表展示了每一个征婚者的姓名:
Name |
---|
Romeo |
Paris |
has 表给出了他们的个性特征:
Name | Has_quality |
---|---|
Romeo | NS |
Romeo | GSOH |
Romeo | Veronian |
Romeo | M |
Paris | NS |
Paris | M |
…… |
Wltm 表展示了 Juliet 要求的个性:
Name | Has_quality |
---|---|
Juliet | NS |
Juliet | GSOH |
Juliet | M |
请找出所有符合 Juliet 的要求的征婚者。
思路
大致思路:先获取每位应征者的个性,再对每位征婚者进行循环,看应征者的个性是否满足征婚者的要求,返回符合要求的人员名单。
代码
A | ||
---|---|---|
1 | =file("C:\\txt\\Suitor.txt").import@t() | |
2 | =file("C:\\txt\\has.txt").import@t() | |
3 | =file("C:\\txt\\Wltm.txt").import@t() | |
4 | =A2.group(Name) | 应征者按姓名分组 |
5 | =A3.select(Name=="JULIET").(QUALITY) | juliet 要求的个性 |
6 | =A4.select(~.(Has_Quality).pos(A5)!=null) | 符合 juliet 要求的组 |
7 | =A6.(Name) | 返回符合要求的名单 |
英文版
数据文件
has.txt
Suitor.txt
Wltm.txt