コード例 #1
0
def from_float(value):
    val = float(value)
    v = int(val)
    o = val - v
    if o > 0.0001:
        u = 1 / o
        return ULO(numbery.to_num(v) + '$ena') + ULO('ena$ena') / from_float(u)
    else:
        return ULO(numbery.to_num(v) + '$ena')
コード例 #2
0
ファイル: intVar.py プロジェクト: ChristofferNorgaard/Zotka-
    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
コード例 #3
0
	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
コード例 #4
0
 def __pow__(self, other):
     return ULO(numbery.to_num(self.real_up**other),
                numbery.to_num(self.real_down**other))
コード例 #5
0
def inputint(sklad):
    sklad.append(to_num(input()))
コード例 #6
0
ファイル: narVar.py プロジェクト: ChristofferNorgaard/Zotka-
 def __mod__(self, other):
     return NAR(numbery.to_num(self.real_value % other.real_value))
コード例 #7
0
ファイル: narVar.py プロジェクト: ChristofferNorgaard/Zotka-
 def __truediv__(self, other):
     return NAR(numbery.to_num(self.real_value // other.real_value))
コード例 #8
0
ファイル: narVar.py プロジェクト: ChristofferNorgaard/Zotka-
 def __abs__(self):
     return NAR(numbery.to_num(abs(self.real_value)))
コード例 #9
0
ファイル: narVar.py プロジェクト: ChristofferNorgaard/Zotka-
    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
コード例 #10
0
 def __sub__(self, other):
     tmp = gcd(int(self.real_down), int(other.real_down))
     return ULO(numbery.to_num(self.real_up * tmp - other.real_up * tmp),
                lcm(self.real_down, other.real_down))
コード例 #11
0
    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)
コード例 #12
0
 def __abs__(self):
     return ULO(numbery.to_num(abs(self.real_up)), self.real_down)
コード例 #13
0
 def __pos__(self):
     return ULO(numbery.to_num(+numbery.from_num(self.real_up)),
                self.real_down)
コード例 #14
0
 def __neg__(self):
     return ULO(numbery.to_num(-numbery.from_num(self.real_up)),
                self.real_down)
コード例 #15
0
ファイル: narVar.py プロジェクト: ChristofferNorgaard/Zotka-
 def __neg__(self):
     return NAR(numbery.to_num(-numbery.from_num(self.value)))
コード例 #16
0
ファイル: narVar.py プロジェクト: ChristofferNorgaard/Zotka-
 def __pos__(self):
     return NAR(numbery.to_num(+numbery.from_num(self.value)))
コード例 #17
0
 def __mul__(self, other):
     return ULO(numbery.to_num(self.real_up * other.real_up),
                numbery.to_num(self.real_down * other.real_down))
コード例 #18
0
ファイル: narVar.py プロジェクト: ChristofferNorgaard/Zotka-
 def __invert__(self):
     return NAR(numbery.to_num(~numbery.from_num(self.value)))
コード例 #19
0
ファイル: intVar.py プロジェクト: ChristofferNorgaard/Zotka-
 def __add__(self, other):
     return INT(numbery.to_num(self.real_value + other.real_value))
コード例 #20
0
ファイル: narVar.py プロジェクト: ChristofferNorgaard/Zotka-
 def __sub__(self, other):
     return NAR(numbery.to_num(self.real_value - other.real_value))
コード例 #21
0
ファイル: intVar.py プロジェクト: ChristofferNorgaard/Zotka-
 def __mul__(self, other):
     return INT(numbery.to_num(self.real_value * other.real_value))
コード例 #22
0
ファイル: narVar.py プロジェクト: ChristofferNorgaard/Zotka-
 def __floordiv__(self, other):
     return NAR(numbery.to_num(round(self.real_value / other.real_value)))
コード例 #23
0
ファイル: intVar.py プロジェクト: ChristofferNorgaard/Zotka-
 def __truediv__(self, other):
     return INT(numbery.to_num(round(self.real_value / other.real_value)))
コード例 #24
0
ファイル: narVar.py プロジェクト: ChristofferNorgaard/Zotka-
 def __pow__(self, other):
     return NAR(numbery.to_num(self.real_value**other.real_value))
コード例 #25
0
ファイル: intVar.py プロジェクト: ChristofferNorgaard/Zotka-
 def __floordiv__(self, other):
     return INT(numbery.to_num(self.real_value // other.real_value))
コード例 #26
0
def inputulo(sklad):
    sklad.append('$'.join([to_num(x) for x in input().split('/')]))
コード例 #27
0
 def __truediv__(self, other):
     return ULO(numbery.to_num(self.real_up * other.real_down),
                numbery.to_num(self.real_down * other.real_up))