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数学模块的主要内容,如果未能解决你的问题,请参考以下文章

Python数学模块毕业

Python数学模块

Python 计算器 - 隐式数学模块

python---Numpy模块中线性代数运算,统计和数学函数

没有数学模块的Python 3中的天花板和地板等效?

100天精通Python(基础篇)——第33天:数学相关模块文末送书两本