设为首页收藏本站

Crossin的编程教室

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

【Python 第46课】 查天气(4)

  [复制链接]

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

101#
发表于 2016-12-19 13:09:59 |只看该作者
study@python 发表于 2016-12-19 12:55
crossin先生,代码第25行,是不是应改为“line = "    '%s': '101%s',\n" % (name, code)”
...

你拿到最后一层,应该是类似这样的结果:
020101|101020100
后面那部分就是完整代码,所以不需要再加101
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

14

积分

新手上路

Rank: 1

102#
发表于 2016-12-19 14:56:21 |只看该作者
crossin先生 发表于 2016-12-19 13:09
你拿到最后一层,应该是类似这样的结果:
020101|101020100
后面那部分就是完整代码,所以不需要再加101 ...

刚试了一下,不行,还得加101。
回复

使用道具 举报

0

主题

1

好友

36

积分

新手上路

Rank: 1

103#
发表于 2017-1-29 21:06:32 |只看该作者
aresli 发表于 2013-9-2 17:23
在不用[:3]减少查询城市的时候,始终会报一个错误:
  code = content4.split('|')[1]
IndexError: list in ...

try:
                code = content4.split("|")[1]
                line = "    '%s':'%s',\n" % (name, code)
                result += line
                print name.decode("utf-8") + ":" + code
            except:
                print "===error==="
                continue

网站上的信息可能有错,加上这样的异常处理代码,就可以了
回复

使用道具 举报

0

主题

1

好友

36

积分

新手上路

Rank: 1

104#
发表于 2017-1-29 21:10:51 |只看该作者
陈小六 发表于 2015-10-8 15:52
基本就是按照教程上来的,加了几个暂停,输出一部分以后就报错了~
北京:101010100
海淀:101010200

try:
                code = content4.split("|")[1]
                line = "    '%s':'%s',\n" % (name, code)
                result += line
                print name.decode("utf-8") + ":" + code
            except:
                print "===error==="
                continue
网络上的信息可能有错,加上异常处理就可以了
回复

使用道具 举报

0

主题

0

好友

10

积分

新手上路

Rank: 1

105#
发表于 2017-1-31 13:59:35 |只看该作者
请问怎么只获取三个省的?
[:3]加在哪处呢?
我这么加了
for p in provinces[:3]:
对程序没任何影响
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

106#
发表于 2017-2-1 11:17:07 |只看该作者
a2313438 发表于 2017-1-31 13:59
请问怎么只获取三个省的?
[:3]加在哪处呢?
我这么加了

你写的没错,就是这么加的
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

53

积分

注册会员

Rank: 2

107#
发表于 2017-2-21 17:52:33 |只看该作者
哇哈哈哈哈 发表于 2016-6-1 21:17
对于程序出现的一个问题的解释

程序报错如下:

厉害,学习了。
回复

使用道具 举报

1

主题

0

好友

145

积分

注册会员

Rank: 2

108#
发表于 2017-2-28 12:48:37 |只看该作者
第二段代码这里,循环体中的这一句content2 = urllib2.urlopen(url2).read(),content不会因为重复赋值而被覆盖。
那么.read()方法读出的内容并不是直接赋值给变量content2 而是将内容“添加” (append or extend)到content2 之后,可以这么理解么?
回复

使用道具 举报

1

主题

0

好友

145

积分

注册会员

Rank: 2

109#
发表于 2017-2-28 12:50:03 |只看该作者
要是每行代码的右侧能有一片 公共编辑区  来让大家一起添加注释就好了。这样还能把同类型或者同一个问题收集起来集中解答
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

110#
发表于 2017-3-1 00:00:35 |只看该作者
brahmagupta 发表于 2017-2-28 12:48
第二段代码这里,循环体中的这一句content2 = urllib2.urlopen(url2).read(),content不会因为重复赋值而被 ...

这里content会覆盖。只是因为每次循环里就把该做的事做完了,所以下次覆盖了新的也没事。

最后的 result += line 不是覆盖,是添加
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

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

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

GMT+8, 2024-4-19 13:56 , Processed in 0.029299 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部