What the problem with my code

import re

def arithmetic_arranger(problems, solve = False):
  if(len(problems) > 5):
    return "Error:Too many Problems"
  first = ""
  second = ""
  line = ""
  sumx = ""
  string = ""
  for problem in problem:
    if(re.search("[^\$0-9.+-]", problem)):
      if(re.search("[/]", problem) or re.search ("*", problem )):
        return "Error: Operator must be '+' or '-'."  
      return "Error:Numbers must be only contains digits"

    firstnumber = problem.split(" ")[0]
    operator = problem.split(" ")[1]
    secondnumber = problem.split(" ")[2]

    if(len(firstnumber) >= 5 or len(secondnumber) >= 5):
      return "Numbers cant be more than 4 digits"

    sum = ""
    if(operator == "+"):
      sum = str(int(firstnumber) + int(secondnumber))
    elif(operator == "-"):
      sum = str(int(firstnumber) - int(secondnumber)
    length = max(len(firstnumber), len(secondnumber))
    top = str(firstnumber).rjust(length)
    bottom = operator + str(secondnumber).rjust(length - 1)
    line = ""
    res = str(sum).rjust(length)
    for s in range(length):
      line += "-"
    if problem != problems(-1):
      first += top + "  "
      second += bottom + "  "
      lines += line + "  "
      sumx += res + "  "
    else:
      first += top
      second += bottom
      lines += line
      sumx += res

    if solve:
      string = first + "\n" + second + "\n" + lines + "\n" + sumx + "\n"
    else:
      string = first + "\n" + second + "\n" + lines
      return string

Hi @loaiesam1234

Welcome to FCC.

I’ve edited your post for readability. When you enter a code block into a forum post, please precede it with a separate line of three backticks and follow it with a separate line of three backticks to make it easier to read.

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

See this post to find the backtick on your keyboard.
Note: Backticks (`) are not single quotes (’).

It would also be useful to provide a description of what is not working or what error you are seeing.

It seems you are returning on,y if solve is false, any reason there?

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.