# Scientific Computing with Python Projects - Arithmetic Formatter

Hi,
Can someone pls help me understanding how should I solve this issue:

Code below →

``````import re
def arithmetic_arranger(problems, solver=False):
# Principal Variables
first_number = ""
second_number = ""
lines = ""
solution_problems = ""
string = ""

# Limit of problems
if (len(problems) > 5):
return "Error: Too many problems."

# Checks
for problem in problems:
if (re.search("[^\s0-9.+-]", problem)):
if (re.search("[/]", problem) or re.search("[*]", problem)):
return "Error: Operator must be '+' or '-'."
return "Error: Numbers must only contain digits."

# Core FOR Loop
problem_array = problem.split(" ")
first_number = problem_array
operator = problem_array
second_number = problem_array

# Check number of digits
if (len(first_number) >= 5 or len(second_number) >= 5):
return "Error: Numbers cannot be more than four digits."

# Solution
solution = ""
if (operator == "+"):
solution = str(int(first_number) + int(second_number))
elif (operator == "-"):
solution = str(int(first_number) - int(second_number))

length = max(len(first_number), len(second_number)) + 2
top = str(first_number).rjust(length) + "    "
bottom = operator + str(second_number).rjust(length - 1) + "    "
line = ""
result = str(solution).rjust(length)+ "    "
for line in range(length):
lines += "-"

if solver:
solution_problems = top + "\n" + bottom + "\n" + lines + "\n" + result + "\n"

else:
solution_problems = top + "\n" + bottom + "\n" + lines

return solution_problems
``````

Thanks!

so just to be sure, you need help figuring out why the dashed line is too long? (progressively too long?)

You have a `\n` at the end of each solution, so each new solution will start on the next line.

1 Like

yes. I know it is because of +=. But I don’t know how to fix it

well, I could help you debug it but I feel that you should tackle the big problem first which is that you are not producing output the way that this exercise expects:

``````   32      3801      45      123
+ 698    -    2    + 43    +  49
-----    ------    ----    -----
``````

If you look at it as a horizontal series of values that need to be produced, then you may not run into the progressively longer dash issue at all.

1 Like