我理解为什么我会收到这个错误,但我正在努力想办法绕过它……
我的代码尝试计算列表中的值之间的百分比差异:
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]
发布于 2019-02-19 03:59:10
如果你想修改你现有的代码,你可以这样做:
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]
发布于 2019-02-19 04:00:08
我很确定下面的代码会做你想做的事情。
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('-')
https://stackoverflow.com/questions/54754400
复制相似问题