首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ZeroDivisionError:浮点型除以0- Python

ZeroDivisionError:浮点型除以0- Python
EN

Stack Overflow用户
提问于 2019-02-19 03:52:05
回答 2查看 1.1K关注 0票数 2

我理解为什么我会收到这个错误,但我正在努力想办法绕过它……

我的代码尝试计算列表中的值之间的百分比差异:

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]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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]
票数 1
EN

Stack Overflow用户

发布于 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('-')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54754400

复制
相关文章

相似问题

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