Python中零的对数

2024-04-24 21:01:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Python中做一个0的对数。

from math import log
log(0)

这让我产生了一个例外。

ValueError: math domain error

我知道负数的log在数学上是未定义的,这就是为什么Python的log可以引发这个ValueError异常。但是为什么用零值调用它时也会引发异常?它应该返回一个-inf值,我已经看到了Python(as in here)中可以表示无穷多个数字。

我能不亲自处理这个问题吗?我是说当你做这种事的时候。

from math import log, inf
foo = ... # Random value.
if foo != 0: return log(foo)
else: return -inf

Tags: fromimportlogreturnfoodomainas对数
1条回答
网友
1楼 · 发布于 2024-04-24 21:01:04

实际上Python并没有错。零的对数也是未定义的,这是因为它是一个极限,它只从右边而不是左边-inf

enter image description here

所以,不,你得自己处理。那是错误的,但你可以这么做。像这样的:log(x) if x != 0 else -inf

相关问题 更多 >