我了解为什么会收到此错误,但是我正在努力想办法解决该问题。...
我的代码试图计算列表中值之间的百分比差异:
values = [0.52, 0.42, 0.0, 0.65, 0.45]
conversion_values = []
for x in range(1, len(values), 1):
val_1 = values[x-1]*100
val_2 = values[x]*100
diff = (val_2/val_1)*100
conversion_values.append(int(round(diff)))
预期输出:
conversion_values
[81, 0, '-', 69]
答案 0 :(得分:1)
如果您希望修改现有代码,则可以采用以下方式:
values = [0.52, 0.42, 0.0, 0.65, 0.45]
conversion_values = []
for x in range(1, len(values), 1):
val_1 = values[x-1]*100
if val_1 == 0: #Check if val_1 is 0.
conversion_values.append('-')
else:
val_2 = values[x]*100
diff = (val_2/val_1)*100
conversion_values.append(int(round(diff)))
print(conversion_values)
输出为:
[81, 0, '-', 69]
答案 1 :(得分:1)
可以肯定,以下内容将满足您的要求。
values = [0.52, 0.42, 0.0, 0.65, 0.45]
conversion_values = []
for x in range(1, len(values), 1):
val_1 = values[x-1]*100
val_2 = values[x]*100
try:
diff = (val_2/val_1)*100
conversion_values.append(int(round(diff)))
except ZeroDivisionError:
conversion_values.append('-')