Python 求立方根

Muhammad Waiz Khan 2023年10月10日
  1. Python 使用指數符號**求立方根
  2. Python 中使用 pow() 函式求立方根
  3. Python 使用 NumPy 庫的 cbrt() 函式獲取立方根
Python 求立方根

本教程將講解在 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

相關文章 - Python Math