循环的最后一次迭代不保存
Last iteration of loop does not save
我是 python 的新手。这是我不确定的代码部分:
i=0
while i< len(urls):
htmlfile = urllib.urlopen(urls[i])
htmltext = htmlfile.read()
titles = re.findall(pattern,htmltext)
i+=1
i=0
while i< len(titles):
titles[i] = titles[i].translate(None, 'absdefghijklmnopqEUR rstuvwxyz;&£')
i+=1
goldah = []
i=0
while i< len(titles):
titles = map(float, titles)
goldah = titles[i] * exchange
goldah = "%.2f" % goldah
print goldah
i+=1
输出
2.87
4.31
5.75
7.19
8.62
10.06
11.50
12.94
14.37
17.25
20.12
23.00
25.87
28.75
34.50
43.12
57.50
86.24
114.99
143.75
172.50
229.99
287.49
344.99
431.24
仅保存一个或所有这些循环的最后一次迭代。因此,当我稍后尝试在代码中调用变量 goldah
时,如下所示: goldah[2]
它没有给我列表中的第二个值,而是给了我最后一个值的第二个字符。抱歉,我是 python.
的新手
您必须将最后一部分更改为
goldah = []
i=0
while i< len(titles):
titles = map(float, titles)
goldahtemp = titles[i] * exchange
goldahtemp = "%.2f" % goldahtemp
print goldahtemp
goldah.append(goldahtemp)
i+=1
那是因为您在每次迭代中都在更改 goldah
的值,而不是实际存储它。您将不得不使用临时变量并将结果附加到列表中。
我是 python 的新手。这是我不确定的代码部分:
i=0
while i< len(urls):
htmlfile = urllib.urlopen(urls[i])
htmltext = htmlfile.read()
titles = re.findall(pattern,htmltext)
i+=1
i=0
while i< len(titles):
titles[i] = titles[i].translate(None, 'absdefghijklmnopqEUR rstuvwxyz;&£')
i+=1
goldah = []
i=0
while i< len(titles):
titles = map(float, titles)
goldah = titles[i] * exchange
goldah = "%.2f" % goldah
print goldah
i+=1
输出
2.87
4.31
5.75
7.19
8.62
10.06
11.50
12.94
14.37
17.25
20.12
23.00
25.87
28.75
34.50
43.12
57.50
86.24
114.99
143.75
172.50
229.99
287.49
344.99
431.24
仅保存一个或所有这些循环的最后一次迭代。因此,当我稍后尝试在代码中调用变量 goldah
时,如下所示: goldah[2]
它没有给我列表中的第二个值,而是给了我最后一个值的第二个字符。抱歉,我是 python.
您必须将最后一部分更改为
goldah = []
i=0
while i< len(titles):
titles = map(float, titles)
goldahtemp = titles[i] * exchange
goldahtemp = "%.2f" % goldahtemp
print goldahtemp
goldah.append(goldahtemp)
i+=1
那是因为您在每次迭代中都在更改 goldah
的值,而不是实际存储它。您将不得不使用临时变量并将结果附加到列表中。