Математический модуль Python

Всякий раз, когда я пытаюсь использовать любую из встроенных функций модуля экспоненциальности и логарифмов Python, я получаю такую ​​ошибку:

NameError: name 'sqrt' is not defined 

Я пробовал использовать math.sqrt(4) , sqrt(4) и sqrt(4.0) , но никто из них не работает. Исключением является pow , который работает так, как предполагается. Это действительно странно, и я не уверен, что случилось.

    5 Solutions collect form web for “Математический модуль Python”

    pow встроена в язык (не входит в математическую библиотеку). Проблема в том, что вы не импортировали математику.

    Попробуй это:

     import math math.sqrt(4) 

    Вы также можете импортировать как

     from math import * 

    Тогда вы можете использовать любую математическую функцию без префиксов математики. например

     sqrt(4) 

    Добавить:

     import math 

    в начале. а затем использовать:

     math.sqrt(num) # or any other function you seem neccessary 

    Вы должны сказать math.sqrt когда используете его. Или, from math import sqrt .

    Хм, я просто внимательно прочитал ваш вопрос … Как вы импортируете math ? Я просто попытался import math а затем math.sqrt которая отлично работала. Вы делаете что-то вроде import math as m ? Если это так, тогда вы должны префикс функции с помощью m (или любого другого имени, которое вы использовали после as ).

    pow работает, потому что есть две версии: всегда доступная версия в __builtin__ и другая версия в math .

    В

    из math import sqrt

    Использование sqrt (4) работает отлично. Вам нужно использовать только math.sqrt (4), когда вы просто используете «import math».

    Python - лучший язык программирования в мире.