2012-05-13 52 views
1

如何在Python中提取任意度的算术根? 我知道算法:提取任意度的算术根

z = pow(x,(1/N)) 

这是正确的吗? 这是唯一的方法吗?

回答

4

这确实是要走的路。但是,你需要使用1.0/N确保浮动师(除非N始终是一个浮动):

>>> import math 
>>> math.pow(27, 1/3) 
1.0 
>>> math.pow(27, 1.0/3) 
3.0 
>>> math.pow(27, 1/3.0) 
3.0 

你也可以使用from __future__ import division使/“常规”除法运算符(整数除法,你会再使用// ):

>>> from __future__ import division 
>>> import math 
>>> math.pow(27, 1/3) 
3.0 

相反的math.pow(x, y)你也可以使用x ** y操作:

>>> 27**(1.0/3) 
3.0 
1

您可以使用**运算符

>>>x = 32 
    >>>n = 5 
    >>>x**(1.0/n) 
    2.0