python小程序基于Jupyter实现天气查询的方法
(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )
天气查询python小程序第0步:导入工具库第一步:生成查询天气的url链接第二步:访问url链接,解析服务器返回的json数据,变成python的字典数据第三步:对字典进行索引,获取气温、风速、风向等天气信息第四步:遍历forecast列表中的五个元素,打印天气信息完整Python代码
本案例是一个非常有趣的python小程序,调用网络API查询指定城市的天气,并打印输出天气信息。
你将学到以下技能:
向网络API发起请求,解析和处理服务器返回的json数据,可以迁移到各种各样的API中,如PM2.5查询,道路拥堵查询,自然灾害查询等。
python字典数据类型的常用操作
以下的代码运行在jupyter notebook的开发环境中,这是python数据分析、机器学习、人工智能开发最常用的开发界面,因为可以非常方便的撰写博客、插入图片和数学公式,并输出代码运行的中间结果,强烈建议你学习如何使用jupyter notebook。
第0步:导入工具库
import urllib.request import gzip
第一步:生成查询天气的url链接
city_name = '上海' # 将城市的中文名字编码成utf-8字符 urllib.parse.quote(city_name) # 将编码后的城市名拼接在原始链接的后面 url = 'http://wthrcdn.etouch.cn/weather_mini"text-align: center">第二步:访问url链接,解析服务器返回的json数据,变成python的字典数据
weather_data = urllib.request.urlopen(url).read()# 访问url链接,获取字节串数据 weather_data# 将字节串解码为unicode编码 weather_data = gzip.decompress(weather_data)weather_data# 将unicode编码解码为utf-8编码,显示中文 weather_data = weather_data.decode('utf-8')weather_data# 将字符串两端的引号去掉,变成python中的字典数据 weather_dict = eval(weather_data)weather_dicttype(weather_dict)第三步:对字典进行索引,获取气温、风速、风向等天气信息
weather_dictweather_dict['data']['yesterday']['high']print('您查询的城市:',weather_dict['data']['city']) print('--------------------------') print('今天的天气') print('温度',weather_dict['data']['wendu']) print('感冒指数',weather_dict['data']['ganmao']) print('--------------------------') print('昨天的天气') print('昨天:',weather_dict['data']['yesterday']['date']) print('天气:',weather_dict['data']['yesterday']['type']) print('最高气温:',weather_dict['data']['yesterday']['high']) print('最低气温:',weather_dict['data']['yesterday']['low']) print('风向:',weather_dict['data']['yesterday']['fx']) print('风力:',weather_dict['data']['yesterday']['fl'][-5:-3]) print('--------------------------')第四步:遍历forecast列表中的五个元素,打印天气信息
weather_dict[‘data'][‘forecast']是一个包含五个元素的列表,每一个元素都是一个字典。
weather_dict['data']['forecast']for each in weather_dict['data']['forecast']: print('日期',each['date']) print('天气',each['type']) print(each['high']) print(each['low']) print('风向',each['fengxiang']) print('风力:',each['fengli'][-5:-3]) print('--------------------------')完整Python代码
下一篇:django使用F方法更新一个对象多个对象字段的实现
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?