Crossin的编程教室

标题: 求助:天气查询遇到的问题—— 一直“查询失败” [打印本页]

作者: Ambition——xb    时间: 2018-4-5 17:04
标题: 求助:天气查询遇到的问题—— 一直“查询失败”
本帖最后由 Ambition——xb 于 2018-4-5 17:38 编辑

# _*_ coding: utf-8 _*_
print('============查询天气=============')
import urllib.request
import json

'''
用我提供的城市代码列表city.py。

city.py这个文件里有一个叫做city的字典,
它里面的key是城市的名称,value是对应的城市代码。
不用把它copy到自己的程序中,只要放在和你的代码同一路径下,用

from city import city

就可以引入city这个字典。这里相当于用了一个自定义的模块,
前一个“city”是模块名,也就是py文件的名称,后一个“city”是模块中变量的名称。
'''
from city import city
cityname=input('你想知道哪个城市的天气?\n')
citycode=city.get(cityname)
if citycode:
    try:
        ur1=('http://www.weather.com.cn/data/cityinfo/%s.html'%citycode)
        contern=urllib.request.urlopen(ur1).read()
        data=json.loads(content)
        result=data['weatherinfo']
        str_temp=('%s\n%s~%s')%(
            result['weather'],
            result['temp1'],
            result['temp2']
            )
        print(str_temp)
    except:
        print('查询失败')
else:
    print('没有找到该城市')

一直“查询失败”是什么原因










作者: crossin先生    时间: 2018-4-6 00:10
把你请求的地址print出来,放到浏览器里看看
作者: Ambition——xb    时间: 2018-4-10 18:34
crossin先生 发表于 2018-4-6 00:10
把你请求的地址print出来,放到浏览器里看看

刚突然发现有个英文字母打错了 已解决了,谢谢
作者: 太阳雨2018    时间: 2018-4-11 21:42
Ambition——xb 发表于 2018-4-10 18:34
刚突然发现有个英文字母打错了 已解决了,谢谢

请问是哪里错了,,我也遇到了同样的问题,不知道怎么解决。。。
作者: crossin先生    时间: 2018-4-11 21:52
太阳雨2018 发表于 2018-4-11 21:42
请问是哪里错了,,我也遇到了同样的问题,不知道怎么解决。。。

他这个都没有报错(被try隐藏掉了),你是如何看出跟他“同样的问题”……
如果你是没有结果,那可能是编码没用gbk,看下 查天气1 里的说明和下面的回帖,找一找跟你情况一致的
作者: 太阳雨2018    时间: 2018-4-11 21:56
太阳雨2018 发表于 2018-4-11 21:42
请问是哪里错了,,我也遇到了同样的问题,不知道怎么解决。。。

我找到了错误地方了,我漏掉了result=data['weatherinfo']这个中括号里的引号~
作者: 太阳雨2018    时间: 2018-4-11 21:58
crossin先生 发表于 2018-4-11 21:52
他这个都没有报错(被try隐藏掉了),你是如何看出跟他“同样的问题”……
如果你是没有结果,那可能是编 ...

嗯嗯,我的也是没有报错,只是一直会输出查询失败,,我找到错误地方了,漏了个引号
作者: Ambition——xb    时间: 2018-4-12 09:38
太阳雨2018 发表于 2018-4-11 21:58
嗯嗯,我的也是没有报错,只是一直会输出查询失败,,我找到错误地方了,漏了个引号 ...






欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5