果壳公司主要销售6种产品:M100,M200,M300,M400,M500,M600。2020年这6种产品的销售情况同比有增有减,章小菲已经统计了各产品的增长率,如下列表: sale2020=[ {'name':'M100','rate':-0.03}, {'name':'M200','rate':0.2}, {'name':'M300','rate':0.15}, {'name':'M400','rate':-0.1}, {'name':'M500','rate':0.3}, {'name':'M600','rate':-0.08}, ] 现在需要收集2021年的销售增长率。编写程序输入2021年各产品的销售增长率sale2021,格式同上。 为了制定2022年的产品生产计划,需要统计出2020年和2021年销售都增长的产品名称。 输入要求:每行输入2021年的一种产品名称和增长率,中间以空格分隔。共6行。 输出:2020年和2021年都增长的产品名称,以列表形式排序输出(字母序)。 输入样例: M100 -0.01 M200 0.1 M300 -0.3 M400 -0.15 M500 0.2 M600 -0.01 输出样例: ['M200', 'M500']
时间: 2023-12-17 11:03:02 浏览: 107
以下是实现该程序的完整代码:
```python
# 定义字典存储每个产品的增长率
sales = {}
# 输入2020年和2021年每个产品的增长率
sale2020 = [
{'name': 'M100', 'rate': -0.03},
{'name': 'M200', 'rate': 0.2},
{'name': 'M300', 'rate': 0.15},
{'name': 'M400', 'rate': -0.1},
{'name': 'M500', 'rate': 0.3},
{'name': 'M600', 'rate': -0.08},
]
for item in sale2020:
sales[item['name']] = item['rate']
sale2021 = []
for i in range(6):
name, rate = input().split()
sale2021.append({'name': name, 'rate': float(rate)})
# 将2021年的增长率存储到字典中
sales[name] = float(rate)
# 找出2020年和2021年销售都增长的产品名称
result = set()
for name, rate in sales.items():
if name in [item['name'] for item in sale2020] and rate > 0:
# 如果产品名称在2020年销售列表中,并且2021年增长率大于0,则说明销售都增长了
result.add(name)
# 将集合转换为列表,按字母序排序并输出
print(sorted(list(result)))
```
运行程序,输入样例数据后,得到的输出为:
```
['M200', 'M500']
```
阅读全文