系统针对不同的人,根据喜好数大于两个时进行商品推荐
小刚、小明、小华三个人喜好的商品如下
小刚喜欢:百事可乐、可口可乐、芬达、加多宝
小明喜欢:百事可乐、可口可乐、雪碧、蜜雪冰城
小华喜欢:披萨、可口可乐、加多宝、蜜雪冰城
#小刚、小明、小华三个人喜好的商品如下
Gang_hobby = {"pepsi","coca","fanta","加多宝"}
Ming_hobby = {"pepsi","coca","sprite","蜜雪冰城"}
Hua_hobby = {"pizza","coca","加多宝","蜜雪冰城"}
hobbies = [Gang_hobby,Ming_hobby,Hua_hobby]
#系统根据三人喜欢向它们分别推荐商品
#设定机制如果两个人的喜好有2个以上一样,则会推荐商品
#给小刚推荐
hobbies_recommend = set()
hobbies.remove(Gang_hobby)
for i in hobbies:
if len(Gang_hobby & i) > 1:
#集合没有列表的extend方法,所以此处用循环遍历方法给集合加入元素
for k in (i - Gang_hobby):
hobbies_recommend.add(k)
print(hobbies_recommend)
#给小明推荐
hobbies = [Gang_hobby,Ming_hobby,Hua_hobby]
#此处使用列表的方法
hobbies_recommend = []
hobbies.remove(Ming_hobby)
for i in hobbies:
if len(Ming_hobby & i) > 1:
#利用列表的extend方法添加元素
hobbies_recommend.extend(list(i - Ming_hobby))
#将列表再转换回集合
print(set(hobbies_recommend))
#给小华推荐
hobbies = [Gang_hobby,Ming_hobby,Hua_hobby]
hobbies_recommend = set()
hobbies.remove(Hua_hobby)
for i in hobbies:
if len(Hua_hobby & i) > 1:
for k in (i - Hua_hobby):
hobbies_recommend.add(k)
print(hobbies_recommend)