Жибурт Никита Максимович,316 CorrectFloat 14336
Абрамов Валентин, 517 группа CorrectFloat 13934
f1from functools import wrapsf1from functools import wraps
22
3class Fix:3class Fix:
44
n5    def __init__(self, precision):n5    def __init__(self, n):
6        self.precision = precision6        self.n = n
77
n8    def __call__(self, target_function):n8    def __call__(self, f):
99
t10        @wraps(target_function)t10        @wraps(f)
11        def decorated_function(*args, **kwargs):11        def wrapper(*args, **kwargs):
12            processed_args = [round(arg, self.precision) if isinstance(a12            round_args = [round(arg, self.n) if isinstance(arg, float) e
>rg, float) else arg for arg in args]>lse arg for arg in args]
13            processed_kwargs = {key: round(value, self.precision) if isi13            round_kwargs = {k: round(v, self.n) if isinstance(v, float) 
>nstance(value, float) else value for key, value in kwargs.items()}>else v for k, v in kwargs.items()}
14            result = target_function(*processed_args, **processed_kwargs14            ret = f(*round_args, **round_kwargs)
>) 
15            return round(result, self.precision) if isinstance(result, f15            return round(ret, self.n) if isinstance(ret, float) else ret
>loat) else result 
16        return decorated_function16        return wrapper
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op