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[0]
operator = problem_array[1]
second_number = problem_array[2]
# 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!