/ Намиране на кубичен корен на идеалния куб python3 [дубликат] - python, python-3.x

Намиране на куб корен на идеалния куб python3 [дубликат] - 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 е идеален куб.

Отговори:

3 за отговор № 1
def is_cube(volume):
return int(round(volume ** (1/3.))) ** 3 == volume

0 за отговор № 2
def cube_volume(volume,side):
if side>= 0 and volume>= 0:
if side**3 == volume:
return True
else:
return False

Опитайте тази!