python营销应用
已知:现有商品清单为: goods={'01':'牛奶','02':'橙汁','03':'酸奶','04':'啤酒','05':'牙膏','06':'牙刷','07':'洗发水'}顾客1购买清单为:set1={'01','02','05','06','07'}
顾客2购买清单为:set2={'01','05','07'}
顾客3购买清单为:set3={'01','02','05','06'}
编程统计商品的销售情况:(1)有人购买的商品(2)无人购买的商品(3)每个人都购买的商品,输出统计后的商品列表。
本帖最后由 Twilight6 于 2020-5-14 00:01 编辑
解释都写在代码的注释里了,求个最佳答案吧!
def buy(goods, set):
listing = {}# 初始化字典做为清单
for g in goods.values():
listing = 0# 将各种商品添加到清单中去,0代表没人购买
for i in set:# 遍历顾客清单
listing] += 1# 客户购买的商品,数量代表有几个客户购买了
return listing
if __name__ == '__main__':
goods = {'01': '牛奶', '02': '橙汁', '03': '酸奶', '04': '啤酒', '05': '牙膏', '06': '牙刷', '07': '洗发水'}
set1 = {'01', '02', '05', '06', '07'}
set2 = {'01', '05', '07'}
set3 = {'01', '02', '05', '06'}
result = buy(goods, list(set1)+list(set2)+list(set3))# 合并三个顾客所有的清单,进行统计商品被购买的次数
# 不能用集合的合并'|',因为集合是不重复的,这样就无法统计次数了
print(result)# 打印结果清单
# 最后只要大于0就是有人购买的商品,反之0是没人购买的商品,等于3的商品是大家都有去购买的,等于2是只有两个顾客去购买 billcount = 0
goods = {'01': {'name':'牛奶', 'saleQty':0}, '02': {'name':'橙汁', 'saleQty':0}, '03': {'name':'酸奶', 'saleQty':0}, \
'04': {'name':'啤酒', 'saleQty':0}, '05': {'name':'牙膏', 'saleQty':0}, '06': {'name':'牙刷', 'saleQty':0}, \
'07': {'name':'洗发水', 'saleQty':0}}
def buy(set):
global billcount #global关键字功能:访问的是全局billcount
billcount+=1
for x in set:
goods['saleQty']+=1
def main():
set1 = {'01', '02', '05', '06', '07'}
set2 = {'01', '05', '07'}
set3 = {'01', '02', '05', '06'}
buy(set1)
buy(set2)
buy(set3)
lis1 = list(goods['name'] for x in goods if goods['saleQty']>0) #有人购买的商品
print('有人购买的商品:%',lis1)
lis2 = list(goods['name'] for x in goods if goods['saleQty']==0) #无人购买的商品
print('无人购买的商品:%',lis2)
lis3 = list(goods['name'] for x in goods if goods['saleQty']==billcount) #每人人购买的商品
print('每人人购买的商品:%',lis3)
if __name__ == '__main__':
main() Twilight6 发表于 2020-5-13 23:00
解释都写在代码的注释里了,求个最佳答案吧!
你这个好,可扩展 rsj0315 发表于 2020-5-15 13:24
你这个好,可扩展
可惜最佳不是我{:9_234:} Twilight6 发表于 2020-5-15 13:25
可惜最佳不是我
快去回我的贴,我给你最佳{:5_109:} 本帖最后由 Twilight6 于 2020-5-15 13:39 编辑
rsj0315 发表于 2020-5-15 13:29
快去回我的贴,我给你最佳
哈哈 不能这样的算刷最佳 要严格遵守论坛规则,你的帖子我还不会,没办法解答哈{:9_234:} {:7_141:}
页:
[1]