# Stuck, my code works perfectly in atom, but not in repl

Tell us what’s happening:
So i have fixed my code multiple times, and tested it in atom, however in repl it keeps giving me multiple errors.

This is my first python project, forgive me if the problem is silly.

``````        def arithmetic_arranger(problems,optional = None):

line1 = ""
line2 = ""
line3 = ""
line4 = ""

if len(problems) >5:
print('Error: Too many problems.')
quit()

num1 =[]
op = []
num2 = []

for each in range(len(problems)):
number= problems[each]
num = number.split()
num1.append(num[0])
op.append(num[1])
num2.append(num[2])

for x in num1:
if x.isdigit() != True:
print("Error: Numbers must only contain digits")
quit()
if len(x) > 4:
print("Error: Numbers cannot be more than four digits.")
quit()

for y in num2:
if y.isdigit() != True:
print("Error: Numbers must only contain digits")
quit()
if len(y) > 4:
print("Error: Numbers cannot be more than four digits.")
quit()

for o in op:
if o == '*' or o == '/':
print("Error: Operator must be '+' or '-'.")
quit()

results = []
for z in range(len(num1)):
result = None
try:
if op[z] == '+':
result = int(num1[z]) + int(num2[z])
results.append(result)
elif op[z] == '-':
result = int(num1[z]) - int(num2[z])
results.append(result)
except:
break

length = max(len(num1[z]),len(num2[z]))

line1 += num1[z].rjust(length+2)+"    "
line2 += op[z]+" "+num2[z].rjust(length)+"    "
line3 += "-"*(length+2)+"    "
line4 += str(results[z]).rjust(length+2)+"    "

if optional == True:
arranged_problems = line1+"\n"+line2+"\n"+line3+"\n"+line4
else:
arranged_problems = line1+"\n"+line2+"\n"+line3

return arranged_problems
``````

``````   32      3801      45      123
+ 698    -    2    + 43    +  49
-----    ------    ----    -----
FError: Operator must be '+' or '-'.
EError: Numbers must only contain digits
EFError: Numbers cannot be more than four digits.
EError: Too many problems.
E
======================================================================
ERROR: test_incorrect_operator (test_module.UnitTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/InconsequentialStripedRatios/test_module.py", line 22, in test_incorrect_operator
actual = arithmetic_arranger(["3 / 855", "3801 - 2", "45 + 43", "123 + 49"])
File "/home/runner/InconsequentialStripedRatios/arithmetic_arranger.py", line 42, in arithmetic_arranger
quit()
File "/usr/lib/python3.8/_sitebuiltins.py", line 26, in __call__
raise SystemExit(code)
SystemExit: None

======================================================================
ERROR: test_only_digits (test_module.UnitTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/InconsequentialStripedRatios/test_module.py", line 32, in test_only_digits
actual = arithmetic_arranger(["98 + 3g5", "3801 - 2", "45 + 43", "123 + 49"])
File "/home/runner/InconsequentialStripedRatios/arithmetic_arranger.py", line 34, in arithmetic_arranger
quit()
File "/usr/lib/python3.8/_sitebuiltins.py", line 26, in __call__
raise SystemExit(code)
SystemExit: None

======================================================================
ERROR: test_too_many_digits (test_module.UnitTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/InconsequentialStripedRatios/test_module.py", line 27, in test_too_many_digits
actual = arithmetic_arranger(["24 + 85215", "3801 - 2", "45 + 43", "123 + 49"])
File "/home/runner/InconsequentialStripedRatios/arithmetic_arranger.py", line 37, in arithmetic_arranger
quit()
File "/usr/lib/python3.8/_sitebuiltins.py", line 26, in __call__
raise SystemExit(code)
SystemExit: None

======================================================================
ERROR: test_too_many_problems (test_module.UnitTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/InconsequentialStripedRatios/test_module.py", line 17, in test_too_many_problems
actual = arithmetic_arranger(["44 + 815", "909 - 2", "45 + 43", "123 + 49", "888 + 40", "653 + 87"])
File "/home/runner/InconsequentialStripedRatios/arithmetic_arranger.py", line 10, in arithmetic_arranger
quit()
File "/usr/lib/python3.8/_sitebuiltins.py", line 26, in __call__
raise SystemExit(code)
SystemExit: None

======================================================================
FAIL: test_arrangement (test_module.UnitTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/InconsequentialStripedRatios/test_module.py", line 10, in test_arrangement
self.assertEqual(actual, expected, 'Expected different output when calling "arithmetic_arranger()" with ["3 + 855", "3801 - 2", "45 + 43", "123 + 49"]')
AssertionError: '    [23 chars]  123    \n+ 855    -    2    + 43    +  49   [35 chars]    ' != '    [23 chars]  123\n+ 855    -    2    + 43    +  49\n-----[23 chars]----'
-     3      3801      45      123
?                                 ----
+     3      3801      45      123
- + 855    -    2    + 43    +  49
?                                 ----
+ + 855    -    2    + 43    +  49
- -----    ------    ----    -----    ?                                 ----
+ -----    ------    ----    ----- : Expected different output when calling "arithmetic_arranger()" with ["3 + 855", "3801 - 2", "45 + 43", "123 + 49"]

======================================================================
FAIL: test_solutions (test_module.UnitTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/InconsequentialStripedRatios/test_module.py", line 39, in test_solutions
self.assertEqual(actual, expected, 'Expected solutions to be correctly displayed in output when calling "arithmetic_arranger()" with arithemetic problems and a second argument of `True`.')
AssertionError: '   3[23 chars]  123    \n- 698    - 3801    + 43    +  49   [73 chars]    ' != '   3[23 chars]  123\n- 698    - 3801    + 43    +  49\n-----[57 chars] 172'
-    32         1      45      123
?                                 ----
+    32         1      45      123
- - 698    - 3801    + 43    +  49
?                                 ----
+ - 698    - 3801    + 43    +  49
- -----    ------    ----    -----
?                                 ----
+ -----    ------    ----    -----
-  -666     -3800      88      172    ?                                 ----
+  -666     -3800      88      172 : Expected solutions to be correctly displayed in output when calling "arithmetic_arranger()" with arithemetic problems and a second argument of `True`.

----------------------------------------------------------------------
Ran 6 tests in 0.096s

FAILED (failures=2, errors=4)
``````

User Agent is: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36`.

Challenge: Arithmetic Formatter

You can also use the “preformatted text” tool in the editor (`</>`) to add backticks around text.