Python中是否有通用开根函数?需输入两数计算任意次方根
实现任意次方根计算功能
你可以通过指数运算实现任意次方根的计算,因为一个数的n次方根等价于它的1/n次幂,完全不用局限于仅支持平方根的math.sqrt。
两种实现方式:
- 直接使用Python内置的幂运算符
** - 使用
math.pow()函数(需先导入math模块)
示例代码
def calculate_nth_root(number, root_degree): # 处理负数开偶次方根的非法情况 if number < 0 and root_degree % 2 == 0: raise ValueError("负数无法开偶次方根") return number ** (1 / root_degree)
测试用例
- 调用
calculate_nth_root(4, 2),返回2.0(如需整数结果可转int) - 调用
calculate_nth_root(27, 3),返回3.0 - 调用
calculate_nth_root(-8, 3),返回-2.0(负数开奇次方根合法)
如果想用math.pow实现,代码可改为:
import math def calculate_nth_root(number, root_degree): if number < 0 and root_degree % 2 == 0: raise ValueError("负数无法开偶次方根") return math.pow(number, 1 / root_degree)
内容的提问来源于stack exchange,提问作者PrinceMask
相关产品推荐
相关产品推荐

