Жан-Юль-Ян Азель, 414 группа (КФ) CorrectFloat 14466
Исанбеков Дамир 414 КФ CorrectFloat 14645
f1from functools import wrapsf1from functools import wraps
22
3class Fix:3class Fix:
44
n5    def __init__(self, n):n5    def __init__(self, precision):
6        self.n = n6        self.precision = precision
77
8    def __call__(self, func):8    def __call__(self, func):
99
10        @wraps(func)10        @wraps(func)
n11        def wrapper(*args, **kwargs):n11        def wrapped(*args, **kwargs):
12            args = tuple((self._round(value) for value in args))12            processed_args = tuple((self._apply_rounding(arg) for arg in
 > args))
13            kwargs = {key: self._round(value) if isinstance(value, float13            processed_kwargs = {key: self._apply_rounding(value) if isin
>) else value for key, value in kwargs.items()}>stance(value, float) else value for key, value in kwargs.items()}
14            result = func(*args, **kwargs)14            result = func(*processed_args, **processed_kwargs)
15            return self._round(result)15            return self._apply_rounding(result)
16        return wrapper16        return wrapped
1717
n18    def _round(self, value):n18    def _apply_rounding(self, value):
19        if isinstance(value, float):19        if isinstance(value, float):
t20            return round(value, self.n)t20            return round(value, self.precision)
21        return value21        return value
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op