题目转载:http://python.wzms.com/s/1/111
题目描述:
人们通过研究发现,将某些不同商品(比如休闲食品和饮料)陈列在一起销售,能使相关商品的销售量增长20%到30%(比如“啤酒和尿布”的故事)。为了寻找这些能相互促进销量的商品,就需要进行商品的关联分析。
为了统计相关商品的关联次数,需要对每个购物篮中的清单进行统计。
输入格式:
第一行,三个数,表示商品的种类n,购物篮的个数m,询问的次数T。
接下来,m行,每行包括若干商品的名称,每两种商品名称之间用一个逗号隔开。
接下来,T行,每行两个整数x,y,表示询问x商品与y商品的关联次数。
输出格式:
共T行。
每行一个数,表示根据询问,回答的相应次数。
- 对象:商品的种类,购物篮的个数,询问的次数,商品,关联次数
- 动作:输入,判断关联次数,输出
- 对应关系:
- 商品的种类——用变量n表示
- 购物篮的个数——用变量m表示
- 询问的次数——用变量T表示
- 每两种商品——用列表的元素表示表示
- 关联次数——用变量表示
- 输入——input()
- 判断关联次数——for + if
- 输出——print()
代码:
n, m, T = map(int, input().split())
# 输入购物篮
all_basket = []
for m_i in range(m):
shopping_basket = list(map(int, input().split()))
all_basket.append(shopping_basket)
# 输入关联商品
all_relevance_goods = []
for T_i in range(T):
relevance_goods = list(map(int, input().split()))
all_relevance_goods.append(relevance_goods)
# 判断关联次数
for x_y in all_relevance_goods:
relevance_count = 0
for i in range(len(all_basket)):
if (x_y[0] in all_basket[i]) and (x_y[1] in all_basket[i]):
relevance_count += 1
print(relevance_count)
运行结果: