[英]Unexpected python loop output
我正在研究一个脚本,以从mangareader下载图像,并且我一直在尝试使用Python进行编码,因为这是我一直学习的第一门语言,并且我现在真的很喜欢。 问题是我所做的循环的输出没有按我预期的方式工作。
soup = soup.findAll('option') # We select all the option tags
for l in soup: # And we start with a loop
l = l.get_text()
print l
url = url + str(l)
print url
我期望的输出是:
1
http://www.mangareader.net/witch-shop/1/1
2
http://www.mangareader.net/witch-shop/1/2
3
http://www.mangareader.net/witch-shop/1/3
4
http://www.mangareader.net/witch-shop/1/4
5
http://www.mangareader.net/witch-shop/1/5
[...]
它显示的是:
1
http://www.mangareader.net/witch-shop/1/1
2
http://www.mangareader.net/witch-shop/1/12
3
http://www.mangareader.net/witch-shop/1/123
4
http://www.mangareader.net/witch-shop/1/1234
5
http://www.mangareader.net/witch-shop/1/12345
[...]
我不知道为什么。
我感谢您的帮助。
好吧,每次迭代
url = url + str(l)
会将数字附加到url
,并且永远不会重置。
要获得所需的输出,请尝试
for l in soup:
l = l.get_text()
print l
print url + str(l)
这样,您就不会更改url
变量的内容。
这是因为您在每次迭代时都将l
附加到url
而不初始化url
。
你应该做:
#....
url2 = url + str(l)
print url2
#....
当您执行以下操作时
url = url + str(l)
您实际上是在追加字符串,而不是加1。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.