python——手机销售统计
类型:集合。
·
类型:集合
描述
文件中包含有2018和2019手机销售榜单数据(市场份额百分数),请根据要求升序输出分析结果:
- 输入’1’时,以列表形式在两行中分别输出2019年和2018年上榜品牌
- 输入’2’时,以列表形式输出2019年和2018年都上榜的品牌
- 输入’3’时,以列表形式输出2019年和2018年上榜的所有品牌
- 输入’4’时,以列表形式输出2019年新上榜品牌
- 输入’5’时,以列表形式输出2019年新上榜和落榜品牌
示例
输入:5
输出:[‘中兴’, ‘联想’, ‘金立’]
参考答案
with open('sale2019.csv','r',encoding='utf-8') as data2019:
sale2019 = [[line.strip().split(',')[0],float(line.strip().split(',')[1])] for line in data2019]
with open('sale2018.csv','r',encoding='utf-8') as data2018:
sale2018 = [[line.strip().split(',')[0],float(line.strip().split(',')[1])] for line in data2018]
saleSet2019 = { x[0] for x in sale2019 }
saleSet2018 = { x[0] for x in sale2018 }
n = input()
if n == '1':
# 1.输入'1'时,以集合形式在两行中分别输出2019年和2018年上榜品牌
print(sorted(saleSet2019))
print(sorted(saleSet2018))
elif n == '2':
# 1.输入'2'时,以集合形式输出2019年和2018年都上榜的品牌
# 两年都上榜的品牌,交集 s & t
s2018and2019 = saleSet2019 & saleSet2018
print(sorted(s2018and2019))
elif n == '3':
# 1.输入'3'时,以集合形式输出2019年和2018年上榜的所有品牌
# 两年上榜的所有品牌,并集 s | t
s20182019all = saleSet2019 | saleSet2018
print(sorted(s20182019all))
elif n == '4':
# 1.输入'4'时,以集合形式输出2019年新上榜品牌
# 新上榜品牌,差补 s - t
s2019new = saleSet2019 - saleSet2018
print(sorted(s2019new)) # {'联想', '中兴'}
elif n == '5':
# 1.输入'5'时,以集合形式输出2019年新上榜和落榜品牌
# 新上榜与落榜品牌,对称差分, s ^ t
newAndold = saleSet2019 ^ saleSet2018
print(sorted(newAndold)) # {'中兴', '联想', '金立'}
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献20条内容
所有评论(0)