Build an Arithmetic Formatter Project - Build an Arithmetic Formatter Project_Code not passsing

Hello can you please help.I have the right answer but the code is not passing:
def arithmetic_arranger(problems, show_answers=False):

checkdivmul=False

checkdigit=False

i=-1

element1=list()

element2=list()

resultat=list()

dash=list()

plusminus=list()

maxwidth=list()



for char in problems:

    i=i+1

    char=char.replace(" ","")

    



    if len(problems) >5:

        print('Error: Too many problems.')

        break

    elif '/' in char or '\*' in char:

        checkdivmul=True

        if checkdivmul==True:

            print("Error: Operator must be '+' or '-'.")

            break

    



    elif '+' in char:

        element1.append(char\[0:char.find("+")\])

                   

        element2.append(char\[char.find("+")+1:len(char)\])

        plusminus.append('+')

        if len(element1\[i\])>4 or len (element2\[i\])>4:

            print('Error: Numbers cannot be more than four digits.')

            element1=list()

            element2=list()

            break

            #sys.exit()

        if not(element1\[i\].isdigit()) or not(element2\[i\].isdigit()):

            print('Error: Numbers must only contain digits.')

            element1=list()

            element2=list()                

            break

        

        resultat.append(int(element1\[i\])+int(element2\[i\]))

        maxwidth1=len(element1\[i\])

        maxwidth2=len(element2\[i\])

        maxwidth.append(max(maxwidth1,maxwidth2))

        

        if maxwidth\[i\]==1:

            dash.append('---')

        elif maxwidth\[i\]==2:

            dash.append('----')

        elif maxwidth\[i\]==3:

            dash.append('-----')

        elif maxwidth\[i\]==4:

            dash.append('------')

        elif maxwidth\[i\]==5:

            dash.append('-------')            

        



    elif '-' in char:

        element1.append(char\[0:char.find("-")\])

                   

        element2.append(char\[char.find("-")+1:len(char)\])

        plusminus.append('-')

        

        if len(element1\[i\])>4 or len (element2\[i\])>4:

            print('Error: Numbers cannot be more than four digits.')

            element1=list()

            element2=list()

            break

            #sys.exit()

        if not(element1\[i\].isdigit()) or not(element2\[i\].isdigit()):

            print('Error: Numbers must only contain digits.')

            element1=list()

            element2=list()

            break

        resultat.append(int(element1\[i\])-int(element2\[i\]))

        maxwidth1=len(element1\[i\])

        maxwidth2=len(element2\[i\])

        maxwidth.append(max(maxwidth1,maxwidth2))

        

        if maxwidth\[i\]==1:

            dash.append('---')

        elif maxwidth\[i\]==2:

            dash.append('----')

        elif maxwidth\[i\]==3:

            dash.append('-----')

        elif maxwidth\[i\]==4:

            dash.append('------')

        elif maxwidth\[i\]==5:

            dash.append('-------')    

            #sys.exit()                

   



if len(element1)==1:

          

        c1=int(maxwidth\[0\])

             

        print(f"{element1\[0\]:>{c1+2}}")

        print(f"{plusminus\[0\]}{element2\[0\]:>{c1+1}} ")

        print(f"{dash\[0\]:>{c1}}.")

        if show_answers==True:

            print(f"{resultat\[0\]:>{c1+2}}")



if len(element1)==2:

        c1=int(maxwidth\[0\])

        c2=int(maxwidth\[1\])

    

        print(f"{element1\[0\]:>{c1+2}}    {element1\[1\]:>{c2+2}}\\\\n {plusminus\[0\]}{element2\[0\]:>{c1+1}}    {plusminus\[1\]}{element2\[1\]:>{c2+1}}\\\\n{dash\[0\]:>{c1}}    {dash\[1\]:>{c2}}")

        #print(f"{element1\[0\]:>{c1+2}}    {element1\[1\]:>{c2+2}} ")

        #print(f"{plusminus\[0\]}{element2\[0\]:>{c1+1}}    {plusminus\[1\]}{element2\[1\]:>{c2+1}}")

        #print(f"{dash\[0\]:>{c1}}    {dash\[1\]:>{c2}}")

        if show_answers==True:

            print(f"{resultat\[0\]:>{c1+2}}    {resultat\[1\]:>{c2+2}}")

            #print(f"{element1\[0\]:>{c1+2}}    {element1\[1\]:>{c2+2}}\\\\n {plusminus\[0\]}{element2\[0\]:>{c1+1}}    {plusminus\[1\]}{element2\[1\]:>{c2+1}}\\\\n{dash\[0\]:>{c1}}    {dash\[1\]:>{c2}}.{resultat\[0\]:>{c1+2}}    {resultat\[1\]:>{c2+2}}")



if len(element1)==4:

    c1=int(maxwidth\[0\])

    c2=int(maxwidth\[1\])

    c3=int(maxwidth\[2\])

    c4=int(maxwidth\[3\])

    

    #print(f"{element1\[0\]:>{c1+2}}    {element1\[1\]:>{c2+2}}    {element1\[2\]:>{c3+2}}    {element1\[3\]:>{c4+2}}\\\\n{plusminus\[0\]}{element2\[0\]:>{c1+1}}    {plusminus\[1\]}{element2\[1\]:>{c2+1}}    {plusminus\[2\]}{element2\[2\]:>{c3+1}}    {plusminus\[3\]}{element2\[3\]:>{c4+1}}\\\\n{dash\[0\]:>{c1}}    {dash\[1\]:>{c2}}    {dash\[2\]:>{c3}}    {dash\[3\]:>{c4}}.")

    print(f"{element1\[0\]:>{c1+2}}    {element1\[1\]:>{c2+2}}    {element1\[2\]:>{c3+2}}    {element1\[3\]:>{c4+2}}")

    print(f"{plusminus\[0\]}{element2\[0\]:>{c1+1}}    {plusminus\[1\]}{element2\[1\]:>{c2+1}}    {plusminus\[2\]}{element2\[2\]:>{c3+1}}    {plusminus\[3\]}{element2\[3\]:>{c4+1}}")

    print(f"{dash\[0\]:>{c1}}    {dash\[1\]:>{c2}}    {dash\[2\]:>{c3}}    {dash\[3\]:>{c4}}.")

    if show_answers==True:

        print(f"{resultat\[0\]:>{c1+2}}    {resultat\[1\]:>{c2+1}}    {resultat\[2\]:>{c3+2}}    {resultat\[3\]:>{c4+2}}")

 

if len(element1)==5:

    c1=int(maxwidth\[0\])

    c2=int(maxwidth\[1\])

    c3=int(maxwidth\[2\])

    c4=int(maxwidth\[3\])

    c5=int(maxwidth\[4\])

    print(f"{element1\[0\]:>{c1+2}}    {element1\[1\]:>{c2+2}}    {element1\[2\]:>{c3+2}}    {element1\[3\]:>{c4+2}}    {element1\[4\]:>{c5+2}}")

    print(f"{plusminus\[0\]}{element2\[0\]:>{c1+1}}    {plusminus\[1\]}{element2\[1\]:>{c2+1}}    {plusminus\[2\]}{element2\[2\]:>{c3+1}}    {plusminus\[3\]}{element2\[3\]:>{c4+1}}    {plusminus\[4\]}{element2\[4\]:>{c5+1}}")

    print(f"{dash\[0\]:>{c1}}    {dash\[1\]:>{c2}}    {dash\[2\]:>{c3}}    {dash\[3\]:>{c4}}    {dash\[4\]:>{c5}}.")

    if show_answers==True:

        print(f"{resultat\[0\]:>{c1+2}}    {resultat\[1\]:>{c2+2}}    {resultat\[2\]:>{c3+2}}    {resultat\[3\]:>{c4+2}}    {resultat\[4\]:>{c5+2}}")





    

return ''

#arithmetic_arranger([“3801 - 2”])

#print()

arithmetic_arranger([“3801 - 2”, “123 + 49”])

Please post a link to the exercise you are working on.

If you have a question about a specific challenge as it relates to your written code for that challenge and need some help, click the Get Help > Ask for Help button located on the challenge.

The Ask for Help button will create a new topic with all code you have written and include a link to the challenge also. You will still be able to ask any questions in the post before submitting it to the forum.

Thank you.

Can you post an example of your output and the expected output?

Thank you I redid the code and is now ok. Thank you for the reply

1 Like