每当我尝试使用 Python 的指数和对数模块的任何内置函数时,都会收到如下错误:
NameError: name 'sqrt' is not defined
我曾尝试使用math.sqrt(4)
,sqrt(4)
和sqrt(4.0)
,但它们都不起作用。例外是pow
,它按预期工作。这真的很奇怪,我不确定出了什么问题。
pow
内置于语言中(不是数学库的一部分)。问题是你没有导入数学。
试试这个:
import math
math.sqrt(4)
您也可以导入为
from math import *
然后你可以使用任何数学函数而不用加上前缀 math。例如
sqrt(4)
添加:
import math
开始时。然后使用:
math.sqrt(num) # or any other function you deem neccessary
你需要说什么math.sqrt
时候使用它。或者,做from math import sqrt
。
嗯,我只是更彻底地阅读了您的问题....您如何导入math
?我只是尝试过import math
,然后math.sqrt
效果很好。你在做类似的事情import math as m
吗?如果是这样,那么您必须在函数前面加上m
(或您在 之后使用的任何名称as
)。
pow
正在工作,因为有两个版本:一个始终可用的版本在 中__builtin__
,另一个版本在math
.
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))
在
从数学导入 sqrt
使用 sqrt(4) 效果很好。当您只使用“导入数学”时,您只需要使用 math.sqrt(4) 。
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))
所有作品。