请问用python怎么写出来,设计一个函数,用python 开任何数的n次方根,可以写出代码吗
用pow(a, b)函数即可。需要开a的r次方则pow(a, 1/r)。
你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
import math
def npow(a,r):
return math.pow(a,1/r)
print(npow(10,4))
使用python自带的pow函数即可
写为
def sqrt(base,exp):
return pow(base,1/exp)
print(sqrt(64,2))
需要对参数为0的情况即分母为0的情况做一个异常处理,代码如下:
import math
def test_sqrt(a,b):
try:
print(math.pow(a,1/b))
except Exception as e:
print(e.__class__.__name__,e)
test_sqrt(16,2)
test_sqrt(16,0)
如对你有帮助,请点击我回答右上角【采纳】按钮采纳支持一下。
数学上(x^n)^m = x^(n*m),因此x^(1/n)就是开n次方根。
python内置的中pow(x, n)函数可以求任意次方,其中x为底数,n为指数。将n变为n的倒数即可开n次方根。下面是代码实现:
def sqrt(x, n):
return pow(x, 1.0 / n)
# output: 8.0
print(sqrt(64, 2))
# Python3 output: (4.898587196589413e-16+8j);
# Python2 output: ValueError: negative number cannot be raised to a fractional power
print(sqrt(-64, 2))
这里有3点需要注意:
ValueError: math domain error
ValueError: negative number cannot be raised to a fractional power
这可能是全网最全面的解答了~~