空气质量分析

题目描述

以下是北京2019年5月份的PM2.5的数值

12,22,50,49,21,17,22,43,37,51,70,87,18,52,94,68,83,36,30,12,12,19,26,44,47,36,5,11,20,19,9

按照以下标准对空气质量进行分级:
20以下为优,20到50为良,50到90为中,90以上为差

统计出每种天气的总天数,再按从大到小顺序排列,最后按以下格式输出:

良 13
优 10
中 7
差 1


注:输入的数值可以是31天的,也可以是其它天数。

 

输入

12,22,50,49,21,17,22,43,37,51,70,87,18,52,94,68,83,36,30,12,12,19,26,44,47,36,5,11,20,19,9

 

输出

良 13
优 10
中 7
差 1

 

#导入reduce方法
from functools import reduce
string = input()
lst = list(map(int,string.split(',')))

#定义函数
def main(dct,i):
    if i < 20:
        dct['优'] = dct.get('优',0) + 1
    elif i >= 20 and i < 50:
        dct['良'] = dct.get('良',0) + 1
    elif i >= 50 and i < 90:
        dct['中'] = dct.get('中',0) + 1
    else:
        dct['差'] = dct.get('差',0) + 1
    return dct



if __name__ == '__main__':
    tmp = reduce(main,lst,{'优':0,'良':0,'中':0,'差':0})
    #对字典按照value值进行排序
    result = sorted(tmp.items(),key=lambda x:x[1],reverse=True) #排序后是元组组成的列表
    for i in result:
        print(i[0],i[1])

  

posted @ 2020-07-08 23:50  synown  阅读(372)  评论(0)    收藏  举报