实基与实指数的幂函数

2024-05-29 04:06:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要用Python编写一个幂函数,它可以处理实数基和实数指数。在

a^b && a,b ∈ R

我被困在这一点上:

def power_real_numbers(base, exp):

  if isinstance(exp, int):
      return power_bin_recursive(base, exp)
  else:
      integer = int(exp)
      rational = int(str(exp).split('.')[1])

  #power_bin_recursive() works fine
  intval = power_bin_recursive(base, integer)
  ratval = math.sqrt(rational)

  if exp == 0:
       return 1
  elif exp < 0:
       val = intval / ratval
  else:
       val = intval * ratval
  return val

但这只适用于真正的基地。对于real exp,数字不同,例如:

^{pr2}$

感谢任何帮助。在


Tags: basereturnifbinvalintegerrealelse
2条回答

您使用了错误的条件来计算实际指数。你的结果对你的解决方案没问题。在

正确: 7.5^2.5=154.046969298

您的计划: 7.5^2*sqrt(5)=125.778823734

要拆分浮点的整数和小数部分,请使用math.modf

>>> import math
>>> fractional, integer = math.modf(5.5)
>>> fractional
0.5
>>> integer
5.0

相关问题 更多 >

    热门问题