【问题标题】:Python math modulePython数学模块
【发布时间】:2012-02-05 16:23:59
【问题描述】:
每当我尝试使用 Python 的指数和对数模块的任何内置函数时,都会收到如下错误:
NameError: name 'sqrt' is not defined
我尝试过使用math.sqrt(4)、sqrt(4) 和sqrt(4.0),但它们都不起作用。例外是pow,它按预期工作。这真的很奇怪,我不确定出了什么问题。
【问题讨论】:
标签:
python
math
module
import
logarithm
【解决方案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 更好地回答