Исанбеков Дамир 414 КФ CorrectFloat 14645
Жан-Юль-Ян Азель, 414 группа (КФ) CorrectFloat 14466
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
8    def __call__(self, func):8    def __call__(self, func):
99
10        @wraps(func)10        @wraps(func)
n11        def wrapped(*args, **kwargs):n11        def wrapper(*args, **kwargs):
12            processed_args = tuple((self._apply_rounding(arg) for arg in12            args = tuple((self._round(value) for value in args))
> args)) 
13            processed_kwargs = {key: self._apply_rounding(value) if isin13            kwargs = {key: self._round(value) if isinstance(value, float
>stance(value, float) else value for key, value in kwargs.items()}>) else value for key, value in kwargs.items()}
14            result = func(*processed_args, **processed_kwargs)14            result = func(*args, **kwargs)
15            return self._apply_rounding(result)15            return self._round(result)
16        return wrapped16        return wrapper
1717
n18    def _apply_rounding(self, value):n18    def _round(self, value):
19        if isinstance(value, float):19        if isinstance(value, float):
t20            return round(value, self.precision)t20            return round(value, self.n)
21        return value21        return value
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op