5

我正在尝试为 power 12 to 4(12 ** 4) 制作一个简单的代码。我有输出 num (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()
4

2 回答 2

21
def f(num):
    return num**0.25

或者

import math
def f(num):
    return math.sqrt(math.sqrt(num))
于 2013-07-11T22:12:36.803 回答
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        ]
>>>

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

于 2013-07-12T00:04:51.583 回答