我正试图给一个变量分配除以其他两个的值,但是,其中一个除以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)