天气处理数据

计算天气的合格率

def dangday(day):
    sum = 0
    a = True
    haotianqi = {'','少云','晴间多云','有风','平静','微风','和风','清风'}
    zhong = {'多云','','','中度霾','阵雨','雷阵雨','小雨','毛毛雨/细雨','小雪','未知'}
    cha = {'强风/劲风','疾风','大风','重度霾','雷阵雨并伴有冰雹','中雨','','','阵雪'}
    for it in haotianqi:
        if it == day['weather']:
            sum +=12
    for it in zhong:
        if it == day['weather']:
            sum +=8
    for it in cha:
        if it == day['weather']:
            sum +=4
    if sum == 0:
        a = False
    temp = (int)(day['temperature'])
    if day['windpower'] != '≤3':
        power = (int)(day['windpower'])
    else:
        power = 2
    if 18<=temp<=24 :
        sum +=10
    if (15<=temp<18)&(24<temp<=26) :
        sum +=6
    if (4<=temp<15)&(26<temp<=35) :
        sum +=4
    if 0<=power<=3 :
        sum +=8
    if 4<=power<=6 :
        sum +=6
    if 7<=power<=9 :
        sum +=4
    if (temp<=4)|(temp>=35)|(power>=10):
        a = False
    if a == True :
        print(sum)
        return sum
    else:
        return 0

def yuceday(day):
    sum = 0
    a = True
    haotianqi = {'','少云','晴间多云','有风','平静','微风','和风','清风'}
    zhong = {'多云','','','中度霾','阵雨','雷阵雨','小雨','毛毛雨/细雨','小雪','未知'}
    cha = {'强风/劲风','疾风','大风','重度霾','雷阵雨并伴有冰雹','中雨','','','阵雪'}
    for it in haotianqi:
        if it == day['dayweather']:
           sum +=10
        if it == day['nightweather']:
            sum +=10
    for it in zhong:
        if it == day['dayweather']:
            sum +=8
        if it == day['nightweather']:
            sum +=8
    for it in cha:
        if it == day['dayweather']:
            sum +=4
        if it == day['nightweather']:
            sum +=4
    if sum == 0:
        a = False
    temp1 = (int)(day['daytemp'])
    temp2 = (int)(day['nighttemp'])
    if day['daypower'] != '≤3':
        power1 = (int)(day['daypower'])
    else:
        power1 = 2
    if day['nightpower']!= '≤3':
        power2 = (int)(day['nightpower'])
    else:
        power2 = 2
    if 18<=temp1<=24 :
        sum +=6
    if (15<=temp1<18)&(24<temp1<=26) :
        sum +=4
    if (4<=temp1<15)&(26<temp1<=35) :
        sum +=2
    if 18<=temp2<=24 :
        sum +=6
    if (15<=temp2<18)&(24<temp2<=26) :
        sum +=4
    if (4<=temp2<15)&(26<temp2<=35) :
        sum +=2
    if 0<=power2<=3 :
        sum +=4
    if 4<=power2<=6 :
        sum +=3
    if 7<=power2<=9 :
        sum +=2
    if 0<=power1<=3 :
            sum +=4
    if 4<=power1<=6 :
        sum +=3
    if 7<=power1<=9 :
        sum +=2
    if(power1>=10)|(power2>=10)|(temp1<4)|(temp1>35)|(temp2<4)|(temp2>35):
        a = False
    if a == True :
        print(sum)
        return sum
    else:
        return 0

 

posted @ 2021-05-22 21:07  韦德·沃兹  阅读(70)  评论(0)    收藏  举报