(12)的第四个根或Python 3中的任何其他数字

Mr *_*Sam 4 python math python-3.x nth-root

我正在尝试为12到4(12**4)的功率制作一个简单的代码.我有输出数(20736),但是当我想要返回(20736)到它的原始值(12).我不知道如何在Python中做到这一点..在真实的数学中我用数学短语做到了{12؇}

问题是如何在Python中制作{12؇}?我使用的是sqrt(),但sqrt仅用于功率2

  #!/usr/bin/env python3.3
import math 
def pwo():
   f=12 ** 4 #f =20736 #
   c=        # should  c = 12 #
   return f,c
print pwo()
Run Code Online (Sandbox Code Playgroud)

end*_*x1x 17

def f(num):
    return num**0.25
Run Code Online (Sandbox Code Playgroud)

要么

import math
def f(num):
    return math.sqrt(math.sqrt(num))
Run Code Online (Sandbox Code Playgroud)

  • 供以后参考: 平方根:num ** (1 / 2) 立方根:num ** (1 / 3) 第 n 个根:num ** (1 / n) (2认同)

小智 4

出于科学目的(需要高精度),您可以使用 numpy:

>>> def root(n, r=4):
...     from numpy import roots
...     return roots([1]+[0]*(r-1)+[-n])
...
>>> print(root(12))
[ -1.86120972e+00+0.j          -3.05311332e-16+1.86120972j
  -3.05311332e-16-1.86120972j   1.86120972e+00+0.j        ]
>>>
Run Code Online (Sandbox Code Playgroud)

输出可能看起来很奇怪,但它可以像使用列表一样使用。此外,上述函数将允许您找到任何数字的任何根(我将 r 的默认值设置为 4,因为您专门要求第四个根)。最后,numpy 是一个不错的选择,因为它会返回也满足您的方程的复数。