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

@fix(4)
def aver(*args, sign=1):
    return sum(args)*sign

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/PythonIntro2022/Homework_FixFloat (last edited 2022-11-16 21:30:27 by FrBrGeorge)