我是Python的新手,最近无法在while循环中正常使用-变量未更新新值!
我创建了一个while循环,当找到另一个URL时应在其中更新URL。我还添加了一个“ times”变量来测试循环执行的时间。 (计数= 4 =>最近版本次数= 4)。但是,“时间”确实发生了变化,但网址仅发生了1次变化。
URL = input('Enter - ')
count = input('Enter count: ')
pos = input('Enter position: ')
times = 0
links = list()
while times < int(count):
html = urlopen(URL, context=ctx).read()
soup = BeautifulSoup(html, "html.parser")
tags = soup('a')
for tag in tags:
link = tag.get('href',None)
links.append(link)
URL = links[int(pos) - 1]
times = times + 1
name = re.findall('known_by_(.+).html',URL)
print(name)
我希望URL得到更新,并且循环再次运行4次,但只会得到第一个循环运行时间的结果。同时,“ times”变量添加了足够的4次。
答案 0 :(得分:1)
您的循环看起来应该运行count
次,每次都执行完全相同的操作。但是,最后两行没有缩进,因此它们不在循环内。这意味着它们将在循环完成后仅运行一次。
如果您想在每次循环运行时都运行最后两行,则需要将它们缩进到与times = times + 1
相同的级别。