我试图给一个变量赋值,这些值是通过除以其他两个而得到的,然而,其中一个除以0。
我的变量是以下total_cost=[312198.0,230400.0,374345.0,367979.0,415502.0) alpha=0.8181818181818182,0.6666666666666666,0.3076923076923077,0.6153846153846154,0.0
我想要的输出是有cost_feasibility_efficiency=381575.33,345949.94,1216621.24,597965.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) 我得到的错误是“浮子除以零”。
发布于 2021-12-09 20:19:51
由于不允许将分母alpha[i]除以零,所以我们只需确保分母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。
发布于 2021-12-09 20:14:39
您可以使用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)https://stackoverflow.com/questions/70296107
复制相似问题