gpt4 book ai didi

python - 如何在 Python3 中获取负数的实立方根?

转载 作者:太空狗 更新时间:2023-10-30 00:55:09 25 4
gpt4 key购买 nike

Python 3.4 似乎随机决定它是使用 ** 运算符返回数字的实根还是复根:

>>> (863.719-2500)
-1636.281
>>> -1636.281**(1/3)
-11.783816270504108
>>> (863.719-2500)**(1/3)
(5.891908135252055+10.205084243784958j)

有没有一种方法可以确保在立方体生根时获得真正的根而不是复杂的根?

最佳答案

在第二种情况下,实际上首先计算立方根,然后应用减号,因此是实根。

-1636.281**(1/3) 变为 -(1636.281**(1/3)) 。您也可以使用类似的逻辑来获得实数立方根。

但实际上,在计算负数的立方根时,您总是会在 Python 中得到复数。

>>> -1636.281**(1/3)  
-11.783816270504108
>>> (-1636.281)**(1/3)
(5.891908135252055+10.205084243784958j)

如果你想要实数,你可以添加如下代码 -

def cube(x):
if x >= 0:
return x**(1/3)
elif x < 0:
return -(abs(x)**(1/3))

关于python - 如何在 Python3 中获取负数的实立方根?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30923838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com