Python 求立方根
Muhammad Waiz Khan
2023年1月30日
2021年2月7日
本教程將講解在 Python 中獲取一個整數或浮點數的立方根的不同方法。要想在 Python 中得到一個數的立方根,我們首先要知道如何得到一個數的指數,以及在 Python 中用什麼運算子來得到一個數的指數。我們還將看到在計算其立方根時如何處理負數,以及在 Python 中用什麼運算子或方法來獲取一個數的立方根。
Python 使用指數符號**
求立方根
我們可以在 Python 中使用**
符號來計算數字的指數,它也被稱為冪運算子。為了計算立方根,我們可以設定冪等於 1/3
。
我們應該記住,由於某些原因,負數的立方根不能用這種方法正確計算。例如,整數 -27
的立方根應該是 -3
,但 Python 卻返回 1.5000000000000004+2.598076211353316j
。這個問題可以通過在計算其立方根之前忽略整數的負號來輕鬆處理。
下面的程式碼示例演示瞭如何在 Python 中計算正數和負數的立方根。
def get_cuberoot(x):
if x < 0:
x = abs(x)
cube_root = x**(1/3)*(-1)
else:
cube_root = x**(1/3)
return cube_root
print(get_cuberoot(64))
print(get_cuberoot(-64))
print(round(get_cuberoot(-64)))
輸出:
3.9999999999999996
-3.9999999999999996
-4
注意
正如我們在上面的例子中所看到的,我們可能需要四捨五入才能得到立方根的精確值。
Python 中使用 pow()
函式求立方根
pow()
函式將一個數字(可以是整數或浮點數)作為第一個引數,將該數字的指數或冪作為第二個引數,並返回所提供數字的冪。
我們可以傳遞 1/3
作為第二個引數,計算出所需數字的立方根。pow()
函式也會返回負數的立方根的錯誤答案,因此負數應該單獨處理。
下面的程式碼示例演示瞭如何使用 pow
方法計算一個數字的立方根。
def get_cuberoot(x):
if x < 0:
x = abs(x)
cube_root = pow(x,1/3)*(-1)
else:
cube_root = pow(x,1/3)
return cube_root
print(get_cuberoot(64))
print(get_cuberoot(-64))
print(round(get_cuberoot(-64)))
輸出:
3.9999999999999996
-3.9999999999999996
-4
Python 使用 NumPy 庫的 cbrt()
函式獲取立方根
NumPy 庫中的 cbrt()
函式是計算一個數字的立方根最簡單的方法。它不會在負數輸入時遇到麻煩,而且與上面討論的方法不同,它返回的是準確的數字,比如輸入 64 的話會得到 4。
這個方法的問題是,它不是 Python 的內建函式,需要安裝 NumPy 庫才能使用 cbrt()
函式。
下面的示例程式碼演示瞭如何在 Python 中使用 cbrt
函式來獲取一個數字的立方根。
import numpy as np
print(np.cbrt(64))
print(np.cbrt(-64))
print(np.cbrt(9.4))
輸出:
4.0
-4.0
2.11045429449015