/ / Znajdowanie pierwiastka kostki w idealnym sześcianie python3 [duplikat] - python, python-3.x

Znalezienie pierwiastka kostki z idealnego kostki python3 [duplicate] - python, python-3.x

Muszę sprawdzić, czy kształt jest sześcianem (lubmożliwe). Mam całkowitą objętość i długość jednej strony. Zaczynam od sprawdzenia, czy objętość i bok są większe niż 0, a następnie, czy sześcian pierwiastka objętości jest równy stronie.
Mam problem z tym, że sześcian z korzenia 125zwraca jako 4.999999999 przy użyciu następującego kodu. Zaokrąglenie liczby spowodowałoby, że byłaby niedokładna w innych przypadkach (4.6 stałoby się również 5). Jestem nowy w Pythonie, o ile mogę powiedzieć, że nie ma wbudowanego roota kostki jak 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

Czuję, że brakuje mi czegoś bardzo oczywistego. Wiem, że podział w Pythonie 3 zawsze da mi liczbę zmienną, ale 125 to idealny sześcian.

Odpowiedzi:

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

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

Spróbuj tego!