Багров Дмитрий Андреевич, 620 группа CorrectFloat 14728
Абуд Халед Набиль, 522 группа CorrectFloat 14533
f1from functools import wrapsf1from functools import wraps
22
3class Fix:3class Fix:
44
5    def __init__(self, n):5    def __init__(self, n):
n6        self.n = nn6        self.prec = 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):
n12            rounded_args = [round(arg, self.n) if isinstance(arg, float)n12            rounded_args = [round(a, self.prec) if isinstance(a, float) 
> else arg for arg in args]>else a for a in args]
13            rounded_kwargs = {k: round(v, self.n) if isinstance(v, float13            rounded_kwargs = {k: round(v, self.prec) if isinstance(v, fl
>) else v for k, v in kwargs.items()}>oat) else v for k, v in kwargs.items()}
14            result = func(*rounded_args, **rounded_kwargs)14            result = func(*rounded_args, **rounded_kwargs)
15            if isinstance(result, float):15            if isinstance(result, float):
t16                return round(result, self.n)t16                return round(result, self.prec)
17            else:
17            return result18                return result
18        return wrapper19        return wrapper
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op