class REAL: # nested.py def __init__(self, l, u): self.lower = l self.upper = u def asString(self, n): l = self.lower(n) u = self.upper(n) return ("[ " + l.numerator.digits() + "/" + l.denominator.digits() + ", " + u.numerator.digits() + "/" + u.denominator.digits() + "]") def __add__(self, y): return REAL_add(self, y) class REAL_add(REAL): def __init__(self, x, y): self.x = x self.y = y def lower(self, n): return self.x.lower(n) + self.y.lower(n) def upper(self, n): return self.x.upper(n) + self.y.upper(n)