/ / Encontrar la raíz cúbica del cubo perfecto python3 [duplicado] - python, python-3.x

Encontrar la raíz cúbica del cubo perfecto python3 [duplicado] - python, python-3.x

Necesito verificar si una forma es un cubo (opodría ser). Tengo el volumen total y la longitud de un lado. Empiezo a verificar si el volumen y el lado son mayores que 0, y luego si la raíz en cubos del volumen es igual al lado.
El problema que tengo es que la raíz en cubos de 125devuelve como 4.999999999 usando el siguiente código. Redondear el número lo haría inexacto en otros casos (4.6 también se convertiría en 5). Soy nuevo en Python, por lo que puedo decir que no hay una raíz cúbica integrada como 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

Siento que me estoy perdiendo algo muy obvio. Sé que la división en Python 3 siempre me dará un número flotante, pero 125 es un cubo perfecto.

Respuestas

3 para la respuesta № 1
def is_cube(volume):
return int(round(volume ** (1/3.))) ** 3 == volume

0 para la respuesta № 2
def cube_volume(volume,side):
if side>= 0 and volume>= 0:
if side**3 == volume:
return True
else:
return False

¡Prueba esto!