Модуль fractions предоставляет поддержку рациональных чисел.

  • class fractions.Fraction(numerator=0, denominator=1)
  • class fractions.Fraction(other_fraction)
  • class fractions.Fraction(float)
  • class fractions.Fraction(decimal)
  • class fractions.Fraction(string)

Класс, представляющий собой рациональные числа. Экземпляр класса можно создать из пары чисел (числитель, знаменатель), из другого рационального числа, числа с плавающей точкой, числа типа decimal.Decimal, и из строки, представляющей собой число.

Необходимо заметить, что, поскольку числа с плавающей точкой не совсем точны, получающееся рациональное число может отличаться от того, что мы хотим получить. Можете поделить столбиком 7074029114692207 на 2251799813685248 и убедиться 🙂

Рациональные числа можно, как int и float, складывать, умножать, делить…

Fraction.limit_denominator(max_denominator=1000000) — ближайшее рациональное число со знаменателем не больше данного.

Также, помимо класса рациональных чисел, модуль fractions предоставляет функцию для нахождения наибольшего общего делителя.

fractions.gcd(a, b) — наибольший общий делитель чисел a и b.

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

13 + 6 =