File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import sys
2+ sys .path .insert (0 , '/Users/petertso/Code/Math/factor' )
3+ from get_lcm import get_lcm
4+ from simplify_fraction import simplify_fraction
5+
6+ def add_fraction (* fractions ):
7+ """
8+ >>> add_fraction('1/2','2/4')
9+ 1/1
10+ >>> add_fraction('3/2','1/4','1/0')
11+ divided by zero error
12+ """
13+
14+ # this sorts out the numerators and denominators
15+ fractions = list (fractions )
16+ nums = [i .replace ('/' , ' ' ).split () for i in fractions ]
17+ numerators = [int (i [0 ]) for i in nums ]
18+ denominators = [int (i [1 ]) for i in nums ]
19+
20+ # return error when divided by zero
21+ if 0 in denominators :
22+ return "divided by zero error"
23+
24+ # get lcm of the denominators, add them up
25+ lcm = get_lcm (denominators )
26+
27+ result_deno = 0
28+ result_num = 0
29+ for i in range (len (denominators )):
30+ num = lcm // denominators [i ]
31+ result_deno = denominators [i ] * num
32+ result_num += numerators [i ] * num
33+
34+ # return the simplified fraction
35+ return simplify_fraction (f"{ result_num } /{ result_deno } " )
Original file line number Diff line number Diff line change @@ -19,5 +19,4 @@ def simplify_fraction(fraction):
1919 # this will divide both numerator and denominator by their gcf value
2020 gcf = get_gcf (nums )
2121 nums = [str (i // gcf ) for i in nums ]
22- print (nums )
2322 return "/" .join (nums )
You can’t perform that action at this time.
0 commit comments