321 Мороз Виктор Владимирович CorrectFloat 13614
Абрамов Валентин, 517 группа CorrectFloat 13934
f1from functools import wrapsf1from functools import wraps
n2import mathn
32
4class Fix:3class Fix:
54
6    def __init__(self, n):5    def __init__(self, n):
7        self.n = n6        self.n = n
87
n9    def __call__(self, fun):n8    def __call__(self, f):
109
t11        @wraps(fun)t10        @wraps(f)
12        def newfun(*args, **kwargs):11        def wrapper(*args, **kwargs):
13            newargs = [round(arg, self.n) if isinstance(arg, float) else12            round_args = [round(arg, self.n) if isinstance(arg, float) e
> arg for arg in args]>lse arg for arg in args]
14            newkwargs = {key: round(value, self.n) if isinstance(value13            round_kwargs = {k: round(v, self.n) if isinstance(v, float) 
>float) else value for key, value in kwargs.items()}>else v for k, v in kwargs.items()}
15            res = fun(*newargs, **newkwargs)14            ret = f(*round_args, **round_kwargs)
16            return round(res, self.n) if isinstance(res, float) else res15            return round(ret, self.n) if isinstance(ret, float) else ret
17        return newfun16        return wrapper
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op