我需要用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}$感谢任何帮助。在
您使用了错误的条件来计算实际指数。你的结果对你的解决方案没问题。在
正确: 7.5^2.5=154.046969298
您的计划: 7.5^2*sqrt(5)=125.778823734
要拆分浮点的整数和小数部分,请使用
math.modf
:相关问题 更多 >
编程相关推荐