天气平均温度查询!!求大神帮忙看看
def load_date(file_name:str) -> list:"""读取文件中的数据从第二行开始读取,并以列表形式返回"""
"""此处填写编码"""
def mapper(lines:list) ->map:
"""解析列表中的数据,以字典形式返回(key为月份,value为对应月份所有温度数据)"""
m={}
"""此处填写编码"""
return m
def reduce(m:map) ->map:
"""计算并返回月的平均温度,以字典形式返回(key为月份,value为平均温度)"""
ret={}
"""此处填写编码"""
return ret
"""调用上述定义的三个函数"""
"""此处填写编码""" 赤果果的求代码 期待大神回复
应该有达到要求吧~
def load_date(file_name: str) -> list:
"""读取文件中的数据从第二行开始读取,并以列表形式返回"""
data = open(file_name,encoding='utf-8')
data.readline()
new_data = data.read().split('\n')
data_list = []
for i in new_data:
data_list.append(i.split(','))
return data_list
def mapper(lines: list) -> map:
"""解析列表中的数据,以字典形式返回(key为月份,value为对应月份所有温度数据)"""
m = {}
for i in lines:
if i[:6] in m:
m[:6]].append(tuple(i))
continue
m.setdefault(i[:6],)])
return m
def reduce(m: map) -> map:
"""计算并返回月的平均温度,以字典形式返回(key为月份,value为平均温度)"""
ret = {}
for i in m:
sum = 0
count = len(m)
for each in m:
if each[-4] == 'N/A':
count -= 1
continue
sum += int(each[-4])
average = sum/count
ret.setdefault(i,average)
return ret
# """调用上述定义的三个函数"""
data_list = load_date('beijing.txt')
data_dict = mapper(data_list)
calc_data = reduce(data_dict)
for i in calc_data:
print('{} {:.2f}'.format(i,calc_data))
页:
[1]