Python数学模块
Posted
技术标签:
【中文标题】Python数学模块【英文标题】:Python math module 【发布时间】:2012-02-05 16:23:59 【问题描述】:每当我尝试使用 Python 的指数和对数模块的任何内置函数时,都会收到如下错误:
NameError: name 'sqrt' is not defined
我尝试过使用math.sqrt(4)
、sqrt(4)
和sqrt(4.0)
,但它们都不起作用。例外是pow
,它按预期工作。这真的很奇怪,我不确定出了什么问题。
【问题讨论】:
如果函数不是内置的,你必须导入它所在的模块。见python library和list of built-ins。 【参考方案1】:pow
内置于语言中(不是数学库的一部分)。问题是你没有导入数学。
试试这个:
import math
math.sqrt(4)
【讨论】:
【参考方案2】:你也可以导入为
from math import *
然后你可以使用任何数学函数而不用前缀数学。例如
sqrt(4)
【讨论】:
【参考方案3】:添加:
import math
一开始。然后使用:
math.sqrt(num) # or any other function you deem neccessary
【讨论】:
【参考方案4】:使用时需要说math.sqrt
。或者,from math import sqrt
。
嗯,我刚刚更彻底地阅读了您的问题....您如何导入math
?我刚试过import math
,然后math.sqrt
,效果很好。你在做类似import math as m
的事情吗?如果是这样,那么您必须在函数前面加上 m
(或您在 as
之后使用的任何名称)。
pow
工作正常,因为有两个版本:__builtin__
中始终可用的版本,math
中的另一个版本。
【讨论】:
【参考方案5】:import math #imports math module
import math as m
print(m.sqrt(25))
from math import sqrt #imports a method from math module
print(sqrt(25))
from math import sqrt as s
print(s(25))
from math import *
print(sqrt(25))
【讨论】:
【参考方案6】:在
从数学导入 sqrt
使用 sqrt(4) 效果很好。只需要使用“导入数学”时才需要使用 math.sqrt(4)。
【讨论】:
【参考方案7】:import math as m
a=int(input("Enter the no"))
print(m.sqrt(a))
from math import sqrt
print(sqrt(25))
from math import sqrt as s
print(s(25))
from math import *
print(sqrt(25))
所有作品。
【讨论】:
不要直接放代码。提供解释。通过这个link 更好地回答以上是关于Python数学模块的主要内容,如果未能解决你的问题,请参考以下文章