In [27]: import math
In [28]: math.log
Out[28]: <function math.log>
In [29]: sum(math.log(v) for v in range(10))
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
[...].py in <module>
----> 1 sum(math.log(v) for v in range(10))
[...].py in <genexpr>(.0)
----> 1 sum(math.log(v) for v in range(10))
NameError: name 'math' is not defined
我完全糊涂了。为什么这不起作用。
我无法重现您的错误,您能提供有关您的系统环境的更多信息吗?
问题不是来自那里,但您必须使用
range(1, 10)
而不是 10,因为 log 不是为 0 定义的。
这是我所拥有的。
Python 3.8.2 (default, Apr 27 2020, 15:53:34)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> math.log
<built-in function log>
>>> sum(math.log(v) for v in range(1, 10))
12.80182748008147