Стрельников Алексей, 617 CorrectFloat 13375
Биктимиров Михаил Геннадьевич, 527 CorrectFloat 13579
f1from functools import wrapsf1from functools import wraps
22
3class Fix:3class Fix:
44
n5    def __init__(self, num):n5    def __init__(self, n):
6        self.num = num6        self.n = n
77
n8    def __call__(self, fun):n8    def __call__(self, func):
99
t10        @wraps(fun)t10        @wraps(func)
11        def fixer(*args, **kwargs):11        def wrapper(*args, **kwargs):
12            new_args = [round(arg, self.num) if isinstance(arg, float) e12            rounded_args = [round(arg, self.n) if isinstance(arg, float)
>lse arg for arg in args]> else arg for arg in args]
13            new_kwargs = {name: round(arg, self.num) if isinstance(arg13            rounded_kwargs = {key: round(value, self.n) if isinstance(va
>float) else arg for name, arg in kwargs.items()}>lue, float) else value for key, value in kwargs.items()}
14            res = fun(*new_args, **new_kwargs)14            result = func(*rounded_args, **rounded_kwargs)
15            if isinstance(res, float):15            if isinstance(result, float):
16                res = round(res, self.num)16                result = round(result, self.n)
17            return res17            return result
18        return fixer18        return wrapper
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op