统计水果消费购买次数和总金额(字典-4)<新人求助>
【问题描述】小王的最近几天的水果消费清单如下所示(若没有消费记录,输入为"None"),每条记录的格式类似如下,以"None"结束,每条数据是水果名和消费额,空格隔开:
apple 25.0
pear 8.0
apple 5.0
pear 2.0
banana 10.0
orange 30.0
None
题目要求:
1. 输出小王最近购买过哪些水果及其购买次数(整数)和总金额(保留两位小数)。(排序规则:先按购买金额降序,再按购买次数降序,都相同的话按水果名升序)
【样例输入】
apple 25.0
pear 8.0
apple 5.0
pear 2.0
banana 10.0
orange 30.0
None
【样例输出】
apple 2 30.00
orange 1 30.00
pear 2 10.00
banana 1 10.00
【样例说明】
输入为不定行,以"None"结束,每条数据是水果名和消费额,空格隔开
输出为不定行,每行依次为:水果名、购买次数(整数)、总金额(保留两位小数)。
(排序规则:先按购买金额降序,再按购买次数降序,都相同的话按水果名升序)
data_dict = {}
while True:
in_data = input("请输入(输入None退出):")
if in_data.lower() == "none":
break
try:
name, price = in_data.split()
data_dict = data_dict.get(name, []) +
except:
print("输入错误,请重新输入")
continue
data = sorted(data_dict.items(), key = lambda x:(-sum(x[-1]), -len(x[-1]), x))
for key, value in data:
print(key, len(value), sum(value))
页:
[1]