Невозможно использовать импортированную библиотеку во вновь определенной функции - PullRequest
0 голосов
/ 16 июня 2020
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

Я совсем запуталась. Почему это не работает.

1 Ответ

0 голосов
/ 16 июня 2020

Я не могу воспроизвести вашу ошибку, можете ли вы предоставить дополнительную информацию о вашей системной среде?

Проблема не в этом, но вы должны использовать range(1, 10) вместо 10, потому что журнал не определено для 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...