gpt4 book ai didi

python - 奇怪的错误 : ZeroDivisionError: float division by zero

转载 作者:行者123 更新时间:2023-11-28 22:14:56 32 4
gpt4 key购买 nike

我发现了一个奇怪的行为,希望有人对此做出解释。我在做:

if len(list) > 1 and len(list2) > 1:
total = sum(list) + sum(list2)
result = percentage(sum(list), total)

def percentage(part, whole):
return float(part) / float(whole) *100

这两个列表是 float 和 int 值的混合。我偶尔会得到:

ZeroDivisionError: float division by zero

这对我来说没有意义。有谁知道发生了什么事吗?

最佳答案

如果打印出导致此错误发生的 partwhole 的值,问题就很明显了。

解决方案是像这样处理任何被零除的错误

       try:
result = percentage(sum(list), total)
except ZeroDivisionError:
# Handle the error in whatever way makes sense for your application

或者,您可以在除法之前检查零

def percentage(part,whole):
if whole == 0:
if part == 0:
return float("nan")
return float("inf")
return float(part) / float(whole) *100

(感谢 Joran Beasley 和 Max 使这在数学上正确)

关于python - 奇怪的错误 : ZeroDivisionError: float division by zero,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53123918/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com