天气查询系统--引入了requests包

字典中嵌套关系的分析:

#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



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值