Этот вопрос закрыт для ответов, так как повторяет вопрос Почему Python неправильно считает?
@markovnik333

Как извлечь корень правильно?

Почему 125 ** 1/3 == 4.9999999 и как это исправить? Просто округление не подходит. Помогите.
  • Вопрос задан
  • 137 просмотров
Пригласить эксперта
Ответы на вопрос 1
longclaps
@longclaps
Вот костыль, а вообще тебе уже объясняли - в общем случае никак.
def root(x: float, p: int) -> float:
    r = x ** (1 / p)
    return (r * (p - 1) + x / r ** (p - 1)) / p

print(root(125, 3))
print(root(777 ** 7, 7))
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы