首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何划分包含0的一组数字?

如何划分包含0的一组数字?
EN

Stack Overflow用户
提问于 2021-12-09 20:11:09
回答 2查看 211关注 0票数 -1

我试图给一个变量赋值,这些值是通过除以其他两个而得到的,然而,其中一个除以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

我目前的代码是

代码语言:javascript
复制
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) 

我得到的错误是“浮子除以零”。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-09 20:19:51

由于不允许将分母alpha[i]除以零,所以我们只需确保分母alpha[i]在除以之前不等于零:

代码语言:javascript
复制
    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。

票数 0
EN

Stack Overflow用户

发布于 2021-12-09 20:14:39

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

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70296107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档