|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
【问题描述】
小王的最近几天的水果消费清单如下所示(若没有消费记录,输入为"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[name] = data_dict.get(name, []) + [float(price)]
- except:
- print("输入错误,请重新输入")
- continue
- data = sorted(data_dict.items(), key = lambda x:(-sum(x[-1]), -len(x[-1]), x[0]))
- for key, value in data:
- print(key, len(value), sum(value))
复制代码
|
|