From 7160faf1c4da8c07e330ee6bbce6f64599199dc4 Mon Sep 17 00:00:00 2001 From: KRHero03 Date: Sun, 11 Oct 2020 11:11:13 +0530 Subject: [PATCH 1/2] Implemented Fraction Multiplication --- Fractions/MyFraction.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Fractions/MyFraction.py b/Fractions/MyFraction.py index 4b05413..57e5f41 100644 --- a/Fractions/MyFraction.py +++ b/Fractions/MyFraction.py @@ -17,7 +17,12 @@ def __sub__(self, fraction): return answer def __mul__(self, fraction): - answer = "Calculate the answer. The answer will be a fraction" + numerator = self.numerator*fraction.numerator + denominator = self.denominator*fraction.denominator + gcd = self.gcf(numerator,denominator) + numerator = numerator // gcd + denominator = denominator // gcd + answer = MyFraction(numerator,denominator) return answer def __truediv__(self, fraction): From 9a1604a3f92677cbb50b7559af400db2dbcb317c Mon Sep 17 00:00:00 2001 From: KRHero03 Date: Sun, 11 Oct 2020 11:25:40 +0530 Subject: [PATCH 2/2] Added Fraction Multiplication, Subtraction, Division and Improved Addition --- Fractions/MyFraction.py | 43 ++++++++++++++---- Fractions/Test.py | 12 ++--- .../__pycache__/MyFraction.cpython-38.pyc | Bin 0 -> 2040 bytes 3 files changed, 39 insertions(+), 16 deletions(-) create mode 100644 Fractions/__pycache__/MyFraction.cpython-38.pyc diff --git a/Fractions/MyFraction.py b/Fractions/MyFraction.py index 57e5f41..9a271d8 100644 --- a/Fractions/MyFraction.py +++ b/Fractions/MyFraction.py @@ -9,24 +9,46 @@ def __str__(self): def __add__(self, fraction): self.sumNum = self.numerator + fraction.numerator self.sumDen = self.gcf(self.denominator, fraction.denominator) + self.sumgcd = self.gcf(self.sumNum,self.sumDen) + self.sumNum = self.sumNum // self.sumgcd + self.sumDen = self.sumDen // self.sumgcd answer = MyFraction(self.sumNum, self.sumDen) return answer def __sub__(self, fraction): - answer = "Calculate the answer. The answer will be a fraction" + self.subNum = self.numerator*fraction.denominator - self.denominator*fraction.numerator + self.subDen = self.denominator*fraction.denominator + self.subgcd = self.gcf(self.subNum ,self.subDen) + + if self.subgcd==0: + return MyFraction(0,0) + self.subNum = self.subNum // self.subgcd + self.subDen = self.subDen // self.subgcd + + answer = MyFraction(self.subNum ,self.subDen) return answer def __mul__(self, fraction): - numerator = self.numerator*fraction.numerator - denominator = self.denominator*fraction.denominator - gcd = self.gcf(numerator,denominator) - numerator = numerator // gcd - denominator = denominator // gcd - answer = MyFraction(numerator,denominator) + self.mulNum = self.numerator*fraction.numerator + self.mulDen = self.denominator*fraction.denominator + self.mulgcd = self.gcf(self.mulNum,self.mulDen) + + if self.mulgcd==0: + return MyFraction(0,0) + self.mulNum = self.mulNum // self.mulgcd + self.mulDen = self.mulDen // self.mulgcd + answer = MyFraction(self.mulNum,self.mulDen) return answer def __truediv__(self, fraction): - answer = "Calculate the answer. The answer will be a fraction" + self.divNum = self.numerator*fraction.denominator + self.divDen = self.denominator*fraction.numerator + self.divgcd = self.gcf(self.divNum,self.divDen) + if self.divgcd==0: + return MyFraction(0,0) + self.divNum = self.divNum // self.divgcd + self.divDen = self.divDen // self.divgcd + answer = MyFraction(self.divNum,self.divDen) return answer def gcf(self, x, y): @@ -34,8 +56,9 @@ def gcf(self, x, y): smaller = y else: smaller = x + gcd = 0 for i in range(1, smaller + 1): if((x % i == 0) and (y % i == 0)): - gcf = i - return gcf + gcd = i + return gcd diff --git a/Fractions/Test.py b/Fractions/Test.py index 8adc56c..0acb0ec 100644 --- a/Fractions/Test.py +++ b/Fractions/Test.py @@ -7,13 +7,13 @@ def main(): addResult = fraction1 + fraction2 print("Addition result was: " + str(addResult) + ". The correct answer is: 1/1 or 2/2") - #subResult = fraction2 - fraction1 - #print("Subtraction result was: " + subResult + ". The correct answer is: 0/0") + subResult = fraction2 - fraction1 + print("Subtraction result was: " + str(subResult) + ". The correct answer is: 0/0") - #multResult = fraction1 * fraction2 - #print("Multiplication result was: " + multResult + ". The correct answer is: 1/4") + multResult = fraction1 * fraction2 + print("Multiplication result was: " + str(multResult) + ". The correct answer is: 1/4") - #divResult = fraction1 / fraction2 - #print("Division result was: " + divResult + ". The correct answer is: 1/1") + divResult = fraction1 / fraction2 + print("Division result was: " + str(divResult) + ". The correct answer is: 1/1") main() diff --git a/Fractions/__pycache__/MyFraction.cpython-38.pyc b/Fractions/__pycache__/MyFraction.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..13177aa539ab71302164f31bcdccdd7320bf6467 GIT binary patch literal 2040 zcma)-&x_ke6vt;qKP=m8C)tGTl1od;#T25nhtNU^Az3z1s0nOKK~SbzkJho*l9Q3t zc7uG0^LK>yxPMLWy7rWFZ#nh*Mv{MZ(`Ll{cr$M_?|t;<>4#pg!%#kZ`&$0lV(c#x zHj4$}5o)@R<|$K5@i(YT5iliA*uWZLeya#bk5JPiG!YB9Vu4Uxi8m~;l%;I+wsMq< z-cc>(p?6hVbOpr+T+6ue-P z6#^~JJzT_e*<6=h6(#d{l8`X4N;{2aXPRE4Z8VomyXfBk=*LOs-#>o* z)fZoWeZT4bXL>%?VT|o#|JgM{%U{A7PCAuOSFtaW{}~=l%FwxA>ck`2N+54 z{~h$F7G|tJ=sVc;3|6MLnQ_Q;ROe2;V+x&GvNN|{wU=Tc3dESE(+4f%OyH(@Jj~NNGZKX&H9|@2rlRzzvi1*GOLhAXG}qHa4YwG>rH8KAygLc3>FQ z55p+19mW$3ev3w&u-syYIEF zNd3cXUf@Nr-2@7;p+JFed@798@Sxc$Y$!-79*?(pYzGeZ)pRNzW`Dy&U&EoRz=`u2 zIMh%etYJX-KNwJv@{=_T3Xc^GjCTUXsDBiUDjeuD*1-Za4Gi;fcY6_Hh?c6Yf0BOq9 pCaaMvCP{hRvpvgedp&Q@>zcJ8GCZwcwYl`Zsf>9@8h@j*e*pP!mIwd< literal 0 HcmV?d00001