How do I print my output in one line?

```
def arithmetic_arranger(problems, args = True):
if len(problems) > 5:
return "Error: Too many problems."
else:
arranged_problems = []
for problem in problems:
x =problem.split()
num1 = x[0]
num2 = x[2]
opr = x[1]
if opr not in ["+" , "-"]:
return "Error: Operator must be '+' or '-'."
else:
for y in num1:
if y.isdigit():
continue
else:
return "Error: Numbers must only contain digits."
for z in num2:
if z.isdigit():
continue
else:
return "Error: Numbers must only contain digits."
if len(num1) > 4 or len(num2) > 4:
return "Error: Numbers cannot be more than four digits."
else:
if opr == "+":
answer = int(num1) + int(num2)
elif opr == "-":
answer = int(num1) - int(num2)
width = max(len(num1), len(num2)) + 2
fline = str(num1.rjust(width))
sline = str(opr + num2.rjust(width - 1))
tline = str("-" * width)
aline = str(answer).rjust(width)
if args == True:
arranged_problem = (fline + "\n" + sline + "\n" + tline + "\n" + aline)
arranged_problems.append(arranged_problem)
elif args == False:
arranged_problem = (fline + "\n" + sline + "\n" + tline + "\n")
arranged_problems.append(arranged_problem)
for kk in arranged_problems:
print("\n")
print(kk)
return arranged_problems
print(arithmetic_arranger(["32 + 698", "3801 - 2", "45 + 43", "123 + 49"]))
```

ilenia
October 6, 2020, 6:52pm
#2

ata78kan:

`return arranged_problems`

do not use `print`

to pass the tests you need to have the value returned from the function be a string of required value

I tried this but the output is looks like this
`[' 32\n+ 698\n-----\n 730', ' 3801\n- 2\n------\n 3799', ' 45\n+ 43\n----\n 88', ' 123\n+ 49\n-----\n 172']`

ilenia
October 6, 2020, 7:10pm
#4
that seems a list of strings, not a string

plus the operations needs to be side by side

(all the first operands on first line, all second operands on second lineâ€¦)

Now, Im only get last problem that we enter.(123 + 49)

ilenia
October 7, 2020, 6:06am
#6
you probably need to review a bit your logic

rememer that to get something like

```
A D
B E
C F
```

you need to write

```
"A D\nB E\nC F"
```

I couldnâ€™t found the error.I failed the first test sitiation.My code is:

```
def arithmetic_arranger(problems, args = True):
if len(problems) > 5:
return "Error: Too many problems."
else:
fline = ""
sline = ""
tline = ""
aline = ""
arranged_problems = []
for problem in problems:
x = problem.split()
num1 = x[0]
num2 = x[2]
opr = x[1]
if opr not in ["+" , "-"]:
return "Error: Operator must be '+' or '-'."
else:
for y in num1:
if y.isdigit():
continue
else:
return "Error: Numbers must only contain digits."
for z in num2:
if z.isdigit():
continue
else:
return "Error: Numbers must only contain digits."
if len(num1) > 4 or len(num2) > 4:
return "Error: Numbers cannot be more than four digits."
else:
if opr == "+":
answer = int(num1) + int(num2)
elif opr == "-":
answer = int(num1) - int(num2)
width = max(len(num1), len(num2)) + 2
fline += str(num1.rjust(width))
sline += str(opr + num2.rjust(width - 1))
tline += str("-" * width)
aline += str(answer).rjust(width)
if problem != problems[-1]:
fline += " "
sline += " "
tline += " "
aline += " "
if args == True:
arranged_problems = (fline + "\n" + sline + "\n" + tline + "\n" + aline)
elif args == False:
arranged_problems = (fline + "\n" + sline + "\n" + tline + "\n")
return arranged_problems
```

Error :

```
FAIL: test_arrangement (test_module.UnitTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/RingedMellowDecimal/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: ' [68 chars]- ------ ---- -----\n 858 3799 88 172' != ' [68 chars]- ------ ---- -----'
3 3801 45 123
+ 855 - 2 + 43 + 49
- ----- ------ ---- -----
? -
+ ----- ------ ---- ------ 858 3799 88 172 : Expected different output when calling "arithmetic_arranger()" with ["3 + 855", "3801 - 2", "45 + 43", "123 + 49"]
```

ilenia
October 7, 2020, 3:56pm
#8
look at the line starting with a `?`

, it marks the difference betweek what you should have and what you have, look at that dash: there is an extra character at the end of your string that shouldnâ€™t be there

1 Like

Thank you so much for helping me.