2012-05-13 53 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