def __init__(self, value): if type(value) == int: v = value Variable.__init__(self, 'celo število', numbery.to_num(v)) self.real_value = v elif type(value) == float: v = int(value) Variable.__init__(self, 'celo število', numbery.to_num(v)) self.real_value = v elif type(value) == str: if ('1' in value or '2' in value or '3' in value or '4' in value or '5' in value or '6' in value or '7' in value or '8' in value or '9' in value): #je napisano z besedo Variable.__init__(self, 'celo število', numbery.to_num(value)) self.real_value = numbery.from_num(self.value) else: v = value Variable.__init__(self, 'celo število', v) self.real_value = numbery.from_num(v) elif value.tip == 'celo število': v = value.real_value Variable.__init__(self, 'celo število', value.value) self.real_value = v elif value.tip == 'flo': v = int(value.real_value) Variable.__init__(self, 'celo število', value.value) self.real_value = v elif value.tip == 'ulo': v = int(value) Variable.__init__(self, 'celo število', numbery.to_num(v)) self.real_value = v elif value.tip == 'str': tmp = INT(str(value)) Variable.__init__(self, 'celo število', tmp.value) self.real_value = tmp.real_value else: try: v = value.real_value except: v = int(value) Variable.__init__(self, 'celo število', value.value) self.real_value = v
def __init__(self, value): if type(value) == int: v = float(value) Variable.__init__(self, 'flo', numbery.to_num(v)) self.real_value = v elif type(value) == float: v = value Variable.__init__(self, 'flo', numbery.to_num(v)) self.real_value = v elif type(value) == str: if ('1' in value or '2' in value or '3' in value or '4' in value or '5' in value or '6' in value or '7' in value or '8' in value or '9' in value): #je napisano z besedo Variable.__init__(self, 'flo', numbery.to_num(value)) self.real_value = numbery.from_num(self.value) else: v = value Variable.__init__(self, 'flo', v) self.real_value = numbery.from_num(v) elif value.tip == 'int': v = float(value.real_value) Variable.__init__(self, 'flo', value.value) self.real_value = v elif value.tip == 'nar': v = float(value.real_value) Variable.__init__(self, 'flo', value.value) self.real_value = v elif type(value) == ULO: v = float(value) Variable.__init__(self, 'flo', numbery.to_num(v)) self.real_value = v elif type(value) == FLO: Variable.__init__(self, 'flo', value.value) self.real_value = value.real_value elif type(value) == STR: tmp = FLO(str(value)) Variable.__init__(self, 'flo', tmp.value) self.real_value = tmp.real_value
def __invert__(self): return NAR(numbery.to_num(~numbery.from_num(self.value)))
def __init__(self, value): if type(value) == int: v = value Variable.__init__(self, 'naravno število', numbery.to_num(v)) self.real_value = v if not v > 2: raise Exception('nar je lahko le naravno število večje od 2.') elif type(value) == float: v = int(value) Variable.__init__(self, 'naravno število', numbery.to_num(v)) self.real_value = v if not v > 2: raise Exception('nar je lahko le naravno število večje od 2.') elif type(value) == str: if ('1' in value or '2' in value or '3' in value or '4' in value or '5' in value or '6' in value or '7' in value or '8' in value or '9' in value): #je napisano z besedo Variable.__init__(self, 'naravno število', numbery.to_num(value)) self.real_value = numbery.from_num(self.value) if not self.real_value > 2: raise Exception( 'nar je lahko le naravno število večje od 2.') else: v = value Variable.__init__(self, 'naravno število', v) self.real_value = numbery.from_num(v) if not self.real_value > 2: raise Exception( 'nar je lahko le naravno število večje od 2.') elif value.tip == 'flo': v = int(value.real_value) Variable.__init__(self, 'naravno število', numbery.to_num(v)) self.real_value = v if not v > 2: raise Exception('nar je lahko le naravno število večje od 2.') elif value.tip == 'int': if value.real_value > 2: v = value.real_value Variable.__init__(self, 'naravno število', value.value) self.real_value = v else: raise Exception('nar je lahko le naravno število večje od 2.') elif value.tip == 'naravno število': v = value.real_value Variable.__init__(self, 'naravno število', value.value) self.real_value = v if not v > 2: raise Exception('nar je lahko le naravno število večje od 2.') elif value.tip == 'ulo': v = int(value) Variable.__init__(self, 'naravno število', numbery.to_num(v)) self.real_value = v if not v > 2: raise Exception('nar je lahko le naravno število večje od 2.') elif value.tip == 'str': tmp = NAR(str(value)) Variable.__init__(self, 'naravno število', tmp.value) self.real_value = tmp.real_value
def __pos__(self): return NAR(numbery.to_num(+numbery.from_num(self.value)))
def __neg__(self): return NAR(numbery.to_num(-numbery.from_num(self.value)))
def __init__(self, value, *v): Variable.__init__(self, 'ulo', (1, 1)) if len(v) == 1: self.value = (value, v) self.real_up = numbery.from_num(value) self.real_down = numbery.from_num(v[0]) elif type(value) == str: if '$' in value: up, down = value.split('$') self.value = (up, down) try: self.real_up = numbery.from_num(up) self.real_down = numbery.from_num(down) tmp = gcd(int(self.real_down), int(self.real_up)) self.real_up /= tmp self.real_down /= tmp self.value = (numbery.to_num(self.real_up), numbery.to_num(self.real_down)) except Exception as error: print(error) raise Exception('Napaka pri zapisu števila.') else: up, down = from_float(float(value)).value self.value = (up, down) elif type(value) == float: self.value = from_float(value).value up, down = self.value self.real_up, self.real_down = numbery.from_num( up), numbery.from_num(down) elif type(value) == int: self.value = from_float(float(value)).value up, down = self.value self.real_up, self.real_down = numbery.from_num( up), numbery.from_num(down) elif value.tip == 'str': tmp = ULO(str(value)) self.real_up = tmp.real_up self.real_down = tmp.real_down self.value = (numbery.to_num(self.real_up), numbery.to_num(self.real_down)) elif value.tip == 'celo število': tmp = ULO(int(value)) self.real_up = tmp.real_up self.real_down = tmp.real_down self.value = (numbery.to_num(self.real_up), numbery.to_num(self.real_down)) elif value.tip == 'naravno število': tmp = ULO(int(value)) self.real_up = tmp.real_up self.real_down = tmp.real_down self.value = (numbery.to_num(self.real_up), numbery.to_num(self.real_down)) elif value.tip == 'ulo': self = value.copy() self.real_up = int(self.real_up) self.real_down = int(self.real_down) if type(self.value[1]) == tuple: print(type(value)) print(self.value, self.real_up, self.real_down)
def __pos__(self): return ULO(numbery.to_num(+numbery.from_num(self.real_up)), self.real_down)
def __neg__(self): return ULO(numbery.to_num(-numbery.from_num(self.real_up)), self.real_down)