**Tell us what’s happening:**

Hey,

I am getting an error when running main.py on replit. It says:

" Expected different output when calling “arithmetic_arranger()” with [“3801 - 2”, “123 + 49”] "

the expected output according to test_module.py is ’ 3801 123\n- 2 + 49\n------ -----’

I have counted how many whitespaces there is, the number of dashes etc and it looks the same, so I don’t know what is triggering the fail message.

Here is what it looks like when I run the function with the same argument on pyCharm:

**Your code so far**

def arithmetic_arranger(problems, display_result=None):

```
upper_operands = list()
lower_operands = list()
operators = list()
results = list()
if display_result is None:
display_result = False
if len(problems) > 5:
return 'Error: Too many problems.'
for operation in problems:
if '+' in operation:
operator = '+'
operators.append(operator)
operands = operation.split('+')
elif '-' in operation:
operator = '-'
operators.append(operator)
operands = operation.split('-')
else:
return 'Error: Operator must be \'+\' or \'-\'.'
operands[0] = operands[0].replace(' ','')
operands[1] = operands[1].replace(' ', '')
if not operands[0].isdigit() or not operands[1].isdigit():
return 'Error: Numbers must only contain digits.'
elif len(operands[0]) > 4 or len(operands[1]) > 4:
return 'Error: Numbers cannot be more than four digits.'
upper_operand = operands[0]
lower_operand = operands[1]
base_length = max(len(upper_operand), len(lower_operand))
if len(upper_operand) != base_length:
diff = base_length - len(upper_operand)
upper_operand = diff * ' ' + upper_operand
elif len(lower_operand) != base_length:
diff = base_length - len(lower_operand)
lower_operand = diff * ' ' + lower_operand
upper_operands.append(upper_operand)
lower_operands.append(lower_operand)
result = 0
if display_result is True:
if operator == '+':
result = int(upper_operand) + int(lower_operand)
elif operator == '-':
result = int(upper_operand) - int(lower_operand)
diff = base_length - len(str(result)) + 2
result = diff * ' ' + str(result)
results.append(result)
upper_row = ''
for num in upper_operands:
upper_row = upper_row + ' ' + num + ' '
length = len(upper_row)
upper_row = upper_row[0:length-4] + '\n'
middle_row = ''
for num, op in zip(lower_operands, operators):
middle_row = middle_row + op + ' ' + num + ' '
length = len(middle_row)
middle_row = middle_row[0:length - 4] + '\n'
line = ''
for num in lower_operands:
for digit in range(len(num) + 2):
line = line + '-'
line = line + ' '
length = len(line)
line = line[0:length - 4] + '\n'
formatted_str = upper_row + middle_row + line
if display_result is True:
bottom_row = ''
for num in results:
bottom_row = bottom_row + num + ' '
length = len(bottom_row)
bottom_row = bottom_row[0:length - 4] + '\n'
formatted_str = formatted_str + bottom_row
return formatted_str
```

print(arithmetic_arranger([‘3801 - 2’, ‘123 + 49’]))

**Your browser information:**

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

**Challenge:** Arithmetic Formatter

**Link to the challenge:**