字典中嵌套关系的分析:
#url 统一资源定位符 #window+r 输入cmd 打开命令行工具 输入pip install requests回车 #http://api.map.baidu.com 百度服务器地址
#天气预报
#引入requests
import requests
#引入python中内置的包json ,用来分析和生成json数据的
import json
#url 统一资源定位符
#window+r 输入cmd 打开命令行工具 输入pip install requests回车
#http://api.map.baidu.com 百度服务器地址
while 1:
print('-------------天气查询----------------')
print('1.查询天气')
print('2.退出')
num = int(input('请选择您的操作:'))
while num not in range(1, 3):
num = int(input('选项有误,请重选:'))
if num==1:
city=input('请输入您要查询的城市名称(输入0退出):')
if city=='0':
print('*********退出程序********')
break
else:
url='http://api.map.baidu.com/telematics/v3/weather?location=%s&output=json&ak=TueGDhCvwI6fOrQnLM0qmXxY9N0OkOiQ&callback=?'%city
#使用request发起请求
rs=requests.get(url)
# print(type(rs.text))
#使用loads函数,将json字符串转换为python的字典或列表
rs_dict=json.loads(rs.text)
#取出error
error_code=rs_dict['error']
#如果取出的error为0,表示数据正常,否则没有查询到结果
if error_code==0:
#从字典中取出数据
results=rs_dict['results']
#根据索引取出城市天气信息字典
info_dict=results[0]
#根据字典中的key,取出城市名称
city_name=info_dict['currentCity']
#取出pm值
pm25=info_dict['pm25']
print('当前城市:%s pm值:%s'%(city_name,pm25))
#取出天气信息列表
weather_data=info_dict['weather_data']
#for循环取出每一天天气的小字典
for weather_dict in weather_data:
#取出日期、天气、风级、温度
date=weather_dict['date']
weather=weather_dict['weather']
wind=weather_dict['wind']
temperature=weather_dict['temperature']
print('%s%s%s%s'%(date,weather,wind,temperature))
else:
print('没有查询到天气信息!')
else:
print('------------------欢迎下次使用--------')
break