def __init__(self, numero=None, pico=0, a=None, b=None, *args, **kwargs): "Representa un número inexacto con aritmética de intervalos." TerminoConstante.__init__(self, *args, **kwargs) if numero is not None: assert isinstance(numero, int) or \ isinstance(numero, long) or \ isinstance(numero, fractions.Fraction) assert a is None and b is None assert pico >= 0 if not isinstance(numero, fractions.Fraction): numero = frac(numero, 1) if pico == 0: a, b = numero, numero elif numero >= 0: a, b = numero, numero + pico else: a, b = numero - pico, numero else: assert a is not None and b is not None self._a, self._b = a, b