Курцев Дмитрий Витальевич, 617 CorrectFloat 13422
Бозин Павел, 124 группа CorrectFloat 14329
f1from functools import wrapsf1from functools import wraps
22
3class Fix:3class Fix:
44
5    def __init__(self, n):5    def __init__(self, n):
6        self.n = n6        self.n = n
77
8    def __call__(self, func):8    def __call__(self, func):
99
10        @wraps(func)10        @wraps(func)
11        def wrapper(*args, **kwargs):11        def wrapper(*args, **kwargs):
t12            fixed_args = list((round(arg, self.n) if isinstance(arg, flot12            new_args = tuple((round(arg, self.n) if isinstance(arg, floa
>at) else arg for arg in args))>t) else arg for arg in args))
13            fixed_kwargs = {key: round(value, self.n) if isinstance(valu13            new_kwargs = {key: round(value, self.n) if isinstance(value,
>e, float) else value for key, value in kwargs.items()}> float) else value for key, value in kwargs.items()}
14            res = func(*fixed_args, **fixed_kwargs)14            result = func(*new_args, **new_kwargs)
15            if isinstance(res, float):15            if isinstance(result, float):
16                res = round(res, self.n)16                result = round(result, self.n)
17            return res17            return result
18        return wrapper18        return wrapper
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op