设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

【Python 第45课】 查天气(3)

[复制链接]

0

主题

0

好友

48

积分

新手上路

Rank: 1

111#
发表于 2018-6-8 13:47:08 |只看该作者
本帖最后由 suiersoda 于 2018-6-8 13:57 编辑

接口得到的字典是嵌套着字典的,尝试着取值成功,但是还不是非常清楚字典嵌套取值这方面的原理,有的写key的名字才可以,有的写序号就可以,还要去重温一下字典方面的知识
  1. #-*- coding: UTF-8 -*-
  2. import urllib.request
  3. import json
  4. from city import city
  5. import gzip

  6. exit=False
  7. while not exit:
  8.     cityname=input('你要查询的城市名称\n输入q退出):')
  9.     if cityname=="q" or cityname=="Q":
  10.         print("退出查询")
  11.         exit=True
  12.     else:
  13.    
  14.         citycode=city.get(cityname)
  15.         if citycode:
  16.             try:
  17.                 url=("http://wthrcdn.etouch.cn/weather_mini?citykey=%s"%citycode)
  18.                 response=urllib.request.urlopen(url).read()
  19.                  #print(response)
  20.                 try:
  21.                     content = gzip.decompress(response).decode("utf-8")
  22.                 except:
  23.                     content=response.decode("utf-8")
  24.                 #print(content)

  25.                 lists=json.loads(content)
  26.                 #print(lists)
  27.                 #print(type(lists))

  28.                 result = lists['data']['forecast'][0]
  29.                 #print(result)
  30.                 str_temp = ('%s,%s\n%s——%s')%(
  31.                     result['date'],
  32.                     result['type'],
  33.                     result['high'],
  34.                     result['low'])

  35.                 print(str_temp)

  36.             except:
  37.                 print('查询失败')

  38.         else:
  39.              print('没有找到该城市')

  40.    

复制代码
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

112#
发表于 2018-6-9 00:22:01 |只看该作者
suiersoda 发表于 2018-6-8 13:47
接口得到的字典是嵌套着字典的,尝试着取值成功,但是还不是非常清楚字典嵌套取值这方面的原理,有的写key ...

序号的,说明那一层是list
你要分开来看
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-4-28 01:26 , Processed in 0.025337 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部