Написать класс-параметрический декоратор Fix(n), с помощью которого все вещественные (как позиционные, так и именные) параметры произвольной декорируемой функции, а также её возвращаемое значение, округляются до n-го знака после запятой (1 ⩽ n ⩽ 16). Если какие-то параметры функции оказались не вещественными, или не вещественно возвращаемое значение, эти объекты не меняются.

   1 @Fix(4)
   2 def aver(*args, sign=1):
   3     return sum(args)*sign
   4 
   5 print(aver(2.45675901, 3.22656321, 3.432654345, 4.075463224, sign=-1))

В примере входные данные сначала округляются до 2.4568, 3.2266, 3.4327, 4.0755, затем складываются, затем снова округляются. А sign не преобразуется (хотя этого и не видно :)), потому что он не вещественный.

-13.1916


CategoryHomework

LecturesCMC/PythonIntro2024/Homework_CorrectFloat (последним исправлял пользователь FrBrGeorge 2024-11-20 13:58:51)