找到完美立方体python3的立方根

时间:2017-11-22 11:31:28

标签: python python-3.x

我需要检查形状是否是一个立方体(或可能是)。我有一侧的总体积和长度。我首先检查音量和侧面是否都大于0,然后检查音量的立方根是否等于侧面。
我遇到的问题是立方根125返回为4.999999999使用以下代码。舍入该数字会使其在其他情况下不准确(4.6也将变为5)。我是Python的新手,据我所知,没有像Javascripts Math.cbrt()这样的内置多维数据集根。

def is_cube(volume, side):
if volume <= 0 or side <= 0:
    return False
elif volume ** (1/3) != side:
    return False
else:
    return True

我觉得我错过了很明显的东西。我知道Python 3中的分区总是给我一个浮点数,但125是一个完美的立方体。

2 个答案:

答案 0 :(得分:3)

def is_cube(volume):    
    return int(round(volume ** (1/3.))) ** 3 == volume

答案 1 :(得分:0)

def cube_volume(volume,side):
    if side>= 0 and volume>= 0:
        if side**3 == volume:
            return True
        else:
            return False

试试这个!