首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >python上负数的三次根

python上负数的三次根
EN

Stack Overflow用户
提问于 2009-09-01 10:40:10
回答 11查看 17K关注 0票数 19

有没有人能帮我找出一个用python计算负数的立方根的方法?

代码语言:javascript
复制
>>> math.pow(-3, float(1)/3)
nan

它不起作用。负数的立方根是负数。有什么解决方案吗?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2009-09-01 10:42:38

您可以使用:

代码语言:javascript
复制
-math.pow(3, float(1)/3)

或者更一般地说:

代码语言:javascript
复制
if x > 0:
    return math.pow(x, float(1)/3)
elif x < 0:
    return -math.pow(abs(x), float(1)/3)
else:
    return 0
票数 11
EN

Stack Overflow用户

发布于 2009-09-01 10:50:09

代码语言:javascript
复制
math.pow(abs(x),float(1)/3) * (1,-1)[x<0]
票数 12
EN

Stack Overflow用户

发布于 2009-09-01 10:54:58

接受前面的答案,并将其变成一行:

代码语言:javascript
复制
import math
def cubic_root(x):
    return math.copysign(math.pow(abs(x), 1.0/3.0), x)
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1361740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档