任务:
实现这样一个程序:输入城市名,输出这个城市当日的天气情况(气温、风力等)
- 安装 anaconda,熟悉 jupyter notebook 的用法;
- 在 anaconda 中,安装 requests 库;
- 在 jupyter notebook 中,利用 requests 库访问接口 http://wthrcdn.etouch.cn/weather_mini?city=北京,使程序实现输入一个城市名称,输出此城市当前的天气情况(气温、风力等)的功能
1.2两点就不展开说明了,下面是一些资料,可供参考。
【参考阅读】
Anaconda介绍、安装及使用教程:https://zhuanlan.zhihu.com/p/32925500
Jupyter Notebook 快速入门(上):https://codingpy.com/article/getting-started-with-jupyter-notebook-part-1/
Jupyter Notebook 快速入门(下):https://codingpy.com/article/getting-started-with-jupyter-notebook-part-2/
【扩展阅读】
用什么写python:https://zhuanlan.zhihu.com/p/38548187
知乎问题 - 你为什么使用 jupyter:https://www.zhihu.com/question/37490497
requests 模块中文官方文档:https://2.python-requests.org/zh_CN/latest/
requests 模块介绍:https://mp.weixin.qq.com/s/97-MFV_ShERyRgTzKYjmHw
查询天气的代码如下:
import requests
while True:
city = input('请输入您要查询的城市,回车退出:')
if not city:
break
else:
url = 'http://wthrcdn.etouch.cn/weather_mini?city=%s'%city
req = requests.get(url)
dict_city = req.json()
data = dict_city.get('data')
if data:
city_forecast = data['forecast'][0]
print(city_forecast.get('date'))
print(city_forecast.get('high'))
print(city_forecast.get('low'))
print(city_forecast.get('type'))
else:
print('未查询到')
此题的收获:
1、req.text()返回的是字符串,req.json()返回的是字典;
2、get()函数可以得到字典中一个键的值。例如上面的dict_city.get(‘data’)可以得到键“data”的值。