如何将一个数字除以一组包含0的数字



我正试图给一个变量分配除以其他两个的值,但是,其中一个除以0。

我的变量如下total_cost=[312198.0230400.0374345.0367979.0415502.0(α=[0.881818181818182,0.66666666666666,0.3076923076923077,0.6153846153846154,0.0]

我想要的输出是cost_easibility_efficiency=[381575.3345949.941216621.245979965.87,0]

我当前的代码是

cost_feasibility_efficiency=[0.0,0.0,0.0,0.0,0.0]
for i in range(0,len(alpha)):
cost_feasibility_efficiency[i]=total_cost[i]/alpha[i]

print(cost_feasibility_efficiency) 

我得到的错误是";浮点除以零";

由于不允许除以零,我们可以在进行除法之前确保分母alpha[i]不为零:

cost_feasibility_efficiency=[0.0,0.0,0.0,0.0,0.0]
for i in range(0,len(alpha)):
if alpha[i] == 0:
cost_feasibility_efficiency[i] = 0.0
else:
cost_feasibility_efficiency[i]=total_cost[i]/alpha[i]
print(cost_feasibility_efficiency) 

你可以选择如果我们被零整除会发生什么。在上面的情况下,它只是将结果设置为0.0。

您可以使用try/except捕获异常:

cost_feasibility_efficiency=[0.0,0.0,0.0,0.0,0.0]
for i in range(0,len(alpha)):
try:
cost_feasibility_efficiency[i] = total_cost[i] / alpha[i]
except ZeroDivisionError:
cost_feasibility_efficiency[i] = 0.0
print(cost_feasibility_efficiency)

最新更新