我已经定义了一个
的函数from math import *
def func(x):
return log(e,x)
错误很简短,你知道为什么python无法评估
func(1)
,等于ln(1),?
编辑:因为我是新来的,我发布了一个愚蠢的问题,对不起,但现在我处理了
答案 0 :(得分:2)
@mike_z对他推荐的内容是正确的,
我有一个向后的论点,换句话说我想到了函数
math.log(a,b)
或log(a,b)
(取决于你如何强制数学模数)
好像a表示base,b表示要评估其对数的另一个操作数
但真正的方法是上面句子的反转是正确的,
坦克你们!
答案 1 :(得分:2)
这是log
函数的定义。正如评论中所述,您的基数不能是1
。
def log(x, base=None): # real signature unknown; restored from __doc__
"""
log(x[, base])
Return the logarithm of x to the given base.
If the base not specified, returns the natural logarithm (base e) of x.
"""
pass
您可以看到以下操作: -
>>> import math
>>>
>>> def func(x):
...
... return math.log(10, x)
...
>>> print func(1)
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "<input>", line 3, in func
ZeroDivisionError: float division by zero
>>> print func(2)
3.32192809489
>>> print func(3)
2.09590327429
>>> print func(4)
1.66096404744
>>>