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