我需要检查形状是否是一个立方体(或可能是)。我有一侧的总体积和长度。我首先检查音量和侧面是否都大于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是一个完美的立方体。
答案 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
试试这个!