-
Notifications
You must be signed in to change notification settings - Fork 0
/
Classes.py
97 lines (89 loc) · 2.52 KB
/
Classes.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
''' NIM/Nama : 13517020/T. Antra Oksidian Tafly, 13517137/Vincent Budianto, 13517146/Hansen
Nama file : Classes.py
Topik : Tugas Besar 1 IF2211-Strategi Algoritma
Tanggal : 13 Februari 2019
Deskripsi : class yang digunakan program '''
class Numbers:
"""Numbers= Bagian dari list dari input number"""
def __init__(self,number,expression): #ctor dengan 2 parameter
self.N = number
self.E = expression
def operate(self,op,Nx):#fungsi merge 2 numbers
if (op=='+'):
Num=self.N+Nx.N
Exp=self.E+"+"+Nx.E
if (op=='-'):
Num=self.N-Nx.N
Exp=self.E+"-"+Nx.E
if (op=='*'):
Num=self.N*Nx.N
Exp=self.E+"*"+Nx.E
if (op=='/'):
Num=self.N/Nx.N
Exp=self.E+"/"+Nx.E
NewN=Numbers(Num,Exp)
return NewN
#Operator overloading
def __lt__(self,Nx):
try:
return (self.N<Nx.N)
except AttributeError:
return (self.N<Nx)
def __le__(self,Nx):
try:
return (self.N<=Nx.N)
except AttributeError:
return (self.N<=Nx)
def __eq__(self,Nx):
try:
return (self.N==Nx.N)
except AttributeError:
return (self.N==Nx)
def __ne__(self,Nx):
try:
return (self.N!=Nx.N)
except AttributeError:
return (self.N!=Nx)
def __gt__(self,Nx):
try:
return (self.N>Nx.N)
except AttributeError:
return (self.N>Nx)
def __ge__(self,Nx):
try:
return (self.N>=Nx.N)
except AttributeError:
return (self.N>=Nx)
def __add__(self,Nx):
try:
return (self.N+Nx.N)
except AttributeError:
return (self.N+Nx)
def __mul__(self,Nx):
try:
return (self.N*Nx.N)
except AttributeError:
return (self.N*Nx)
def __sub__(self,Nx):
try:
return (self.N-Nx.N)
except AttributeError:
return (self.N-Nx)
def __mod__(self,Nx):
try:
return (self.N%Nx.N)
except AttributeError:
return (self.N%Nx)
def __truediv__(self,Nx):
try:
return (self.N/Nx.N)
except AttributeError:
return (self.N/Nx)
class card:
"""card = 1 kartu"""
def __init__(self,number,filename):
self.N = number
self.FN = filename
def c2n(self):
N=Numbers(self.N,str(self.N))
return N