diff options
Diffstat (limited to 'csci1913/lab1')
-rw-r--r-- | csci1913/lab1/lab1_strap012.py | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/csci1913/lab1/lab1_strap012.py b/csci1913/lab1/lab1_strap012.py index 0e89112..e04cf82 100644 --- a/csci1913/lab1/lab1_strap012.py +++ b/csci1913/lab1/lab1_strap012.py @@ -25,7 +25,7 @@ def solve(v, e): def solving(v,q): if left(q)==v: return q - elif type(left(q)): + elif type(left(left(q))) is not tuple: if op(left(q))=='+': return solvingAdd(v, q) elif op(left(q))=='-': @@ -34,30 +34,33 @@ def solving(v,q): return solvingMultiply(v, q) elif op(left(q))=='/': return solvingDivide(v, q) + else: + solving(v,left(q)) def solvingAdd(v,q): if isInside(v, left(left(q))): - return (left(left(q)), '=', (right(q), '-', right(left(q)))) + return left(left(q)), '=', (right(q), '-', right(left(q))) else: - return (right(left(q)), '=', (right(q), '-', left(right(q)))) + return right(left(q)), '=', (right(q), '-', left(left(q))) def solvingSubtract(v,q): if isInside(v, left(left(q))): - return left(left(q)) + return left(left(q)), '=', (right(q), '+', right(left(q))) else: - return right(left(q)) + return right(left(q)), '=', (left(left(q)), '-', right(q)) def solvingMultiply(v,q): if isInside(v, left(left(q))): - return left(left(q)) + return left(left(q)), '=', (right(q), '/', right(left(q))) else: - return right(left(q)) + return right(left(q)), '=', (right(q), '/', left(left(q))) def solvingDivide(v,q): if isInside(v, left(left(q))): - return left(left(q)) + return left(left(q)), '=', (right(q), '*', right(left(q))) else: - return right(left(q)) + return right(left(q)), '=', (left(left(q)), '/', right(q)) + # # TESTS. Test the equation solver for CSci 1913 Lab 1. |