Написать метакласс fixed с параметром ndigits (по умолчанию 3), в котором все возвращаемые обычными (не статическими и не методами класса) методами значения округляются с помощью round() до ndigits знаков после запятой, если они вещественные по определению модуля numbers.

   1 from fractions import Fraction
   2 from decimal import Decimal
   3 
   4 class C(metaclass=fixed, ndigits=4):
   5     def div(self, a, b):
   6         return a / b
   7 
   8 print(C().div(6, 7))
   9 print(C().div(Fraction(6), Fraction(7)))
  10 print(C().div(Decimal(6), Decimal(7)))

0.8571
8571/10000
0.8571428571428571428571428571

Спойлер:


CategoryHomework

LecturesCMC/PythonIntro2022/Homework_FloatFix (последним исправлял пользователь FrBrGeorge 2022-12-01 15:22:59)