我正在尝试将数组转换为百分比更改数组。这很简单,但是我不知道为什么会出现零除错误。我试过
from __future__ import division
在我文件的顶部,但没有骰子。
我的代码:
def convert(anarr):
x = 1
while(x < len(anarr)):
anarr[x] = (anarr[1] - anarr[x])/anarr[1]
x += 1
print anarr
主要:
>>>
>>>
>>> myarr = [20130101.0,34.75,34.66,34.6,34.6,34.61,34.65,34.69]
>>> convert(myarr)
>>> Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
convert(myarr)
File "C:\Users\viral\Desktop\python\mapping.py", line 38, in convert
anarr[x] = (anarr[1] - anarr[x])/anarr[1]
ZeroDivisionError: float division by zero
最佳答案
由于您正在修改数组,因此其中一个元素变为0会导致错误。数组中有连续的34.6s,百分比变化为0。将更改放入新数组中,如果需要,以后再复制。