На этом шаге мы рассмотрим использование модуля fractions.
Вы вошли в машину времени и внезапно обнаружили себя делающим домашку по математике с задачками про дроби. Или же вы просто пишете код, который
будет обсчитывать измерения, сделанные в вашей столярной мастерской...
Модуль fractions может быть использован для выполнения математических операций с дробями. Например:
>>> from fractions import Fraction >>> a = Fraction(5, 4) >>> b = Fraction(7, 16) >>> print(a + b) 27/16 >>> print(a * b) 35/64 >>> # Получение числителя/знаменателя >>> c = a * b >>> c.numerator 35 >>> c.denominator 64 >>> # Преобразуем в float >>> float(c) 0.546875 >>> # Ограничиваем знаменатель значения >>> print(c.limit_denominator(8)) 4/7 >>> # Конвертируем float в дробь >>> x = 3.75 >>> y = Fraction(*x.as_integer_ratio()) >>> y Fraction(15, 4) >>>
Вычисления с дробями нечасто возникают в обычных программах, но иногда имеет смысл ими воспользоваться. Например, если данные каких-то измерений поступают в виде дробей, то можно работать прямо с ними, что снимает необходимость конвертирования в десятичные дроби или числа с плавающей точкой.
На следующем шаге мы рассмотрим вычисления на больших массивах чисел.