Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Astigarraga <poteland@gmail.com>2010-04-05 12:20:08 (GMT)
committer Pablo Astigarraga <poteland@gmail.com>2010-04-05 12:20:08 (GMT)
commitb30b3ca9f55902b959c2ce1e7bd22db2d0bf21ac (patch)
tree5cee35895f433a25d0cf853803fe11184547a8c8
parentf1101069bcb3e15442944b4ec2058727a72f72b1 (diff)
Fixed substraction/addition issue
-rw-r--r--fracciones.activity/fractionlogic.py17
1 files changed, 9 insertions, 8 deletions
diff --git a/fracciones.activity/fractionlogic.py b/fracciones.activity/fractionlogic.py
index d97e33d..ee24011 100644
--- a/fracciones.activity/fractionlogic.py
+++ b/fracciones.activity/fractionlogic.py
@@ -96,6 +96,7 @@ def calculate(fraction_1,fraction_2,operator):
result = divide(fraction_1,fraction_2)
return result
+
def add(fraction_1,fraction_2):
result = Fraction()
if fraction_1.denominator == fraction_2.denominator :
@@ -103,10 +104,10 @@ def add(fraction_1,fraction_2):
result.denominator = fraction_1.denominator
return result
else:
- lcm = lcm(fraction_1.denominator,fraction_2.numerator)
- result.denominator = lcm
- alt_fraction_1 = fraction_1.numerator * lcm
- alt_fraction_2 = fraction_2.numerator * lcm
+ mcm = lcm(fraction_1.denominator,fraction_2.numerator)
+ result.denominator = mcm
+ alt_fraction_1 = fraction_1.numerator * (fraction_1.denominator / mcm)
+ alt_fraction_2 = fraction_2.numerator * (fraction_2.denominator / mcm)
result.numerator = alt_fraction_1 + alt_fraction_2
return result
@@ -119,10 +120,10 @@ def substract(fraction_1,fraction_2):
return result
else:
lcm = lcm(fraction_1.denominator,fraction_2.numerator)
- result.denominator = lcm
- alt_fraction_1 = fraction_1.numerator * lcm
- alt_fraction_2 = fraction_2.numerator * lcm
- result.numerator = alt_fraction_1 + alt_fraction_2
+ result.denominator = mcm
+ alt_fraction_1 = fraction_1.numerator * (fraction_1.denominator / mcm)
+ alt_fraction_2 = fraction_2.numerator * (fraction_2.denominator / mcm)
+ result.numerator = alt_fraction_1 - alt_fraction_2
return result
def multiply(fraction_1,fraction_2):