我有一行Python代码无法正常工作(至少据我所知)。以下是代码行:
print 'progress: {}%'.format((i/len(e_numbers))*100)
i
的值从0
开始,一直到e_numbers
的长度,即list
,而e_numbers
的长度大约为{ {1}}。但是代码始终显示17000
。
知道为什么吗?
答案 0 :(得分:2)
在Python 2中,默认情况下,使用// @run-at document-start
除以两个整数将执行整数除法,将结果四舍五入为最接近的整数值。因此,只要/
在0到i
之间,len(e_numbers)
就会为0。有两种可能的解决方案:
在除以i/len(e_numbers)
将float(i)/len(e_numbers)
放在文件顶部,以便from __future__ import division
总是产生浮点数。