Build an Arithmetic Formatter Project - Build an Arithmetic Formatter Project

Tell us what’s happening:

Porque mi código no pasa los tests. Creo que las salidas son todas correctas

Your code so far

def arithmetic_arranger(problems, show_answers=False):
    if len(problems) > 5:
        return 'Error: Too many problems.'
    for operaciones in problems:
        aux = operaciones.split()
        if aux[1] == '*' or aux[1] == '/':
            return "Error: Operator must be '+' or '-'."
        if not aux[0].isdigit() or not aux[2].isdigit():
            return 'Error: Numbers must only contain digits.'
        if len(aux[0]) > 4 or len(aux[2]) > 4:
            return 'Error: Numbers cannot be more than four digits.'
    guiones = ''
    cadena_superior = ''
    cadena_inferior = ''
    resultados = ''
    toret = ''
    for operaciones in problems:
        aux = operaciones.split()
        op1 = int(aux[0])
        op2 = int(aux[2])
        if aux[1] == '+':
            resul = op1 + op2
        else:
            resul = op1 - op2
        if len(aux[0]) > len(aux[2]):
            n_guiones = len(aux[0]) + 2 
        else:
            n_guiones = len(aux[2]) + 2
        for i in range(n_guiones):
            if i == 0:
                cadena_inferior = cadena_inferior + aux[1]
            if i != 0 and i < (n_guiones - len(aux[2])):
                cadena_inferior = cadena_inferior + ' '
            if i < n_guiones - len(aux[0]):
                cadena_superior = cadena_superior + ' '
            if i < n_guiones - len(str(resul)):
                resultados = resultados + ' '
            guiones = guiones + '-'
        cadena_superior = cadena_superior + aux[0] + '    '
        cadena_inferior = cadena_inferior + aux[2] + '    '
        guiones = guiones + '    '
        resultados = resultados + str(resul) + '    '
    toret = toret + cadena_superior + '\n' + cadena_inferior + '\n' + guiones    
    if show_answers:
        return toret + '\n' + resultados
    else:
        return toret
    

print(f'\n{arithmetic_arranger(["3801 - 2", "123 + 49"])}')

Your browser information:

El agente de usuario es: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36

Challenge Information:

Build an Arithmetic Formatter Project - Build an Arithmetic Formatter Project

Bienvenido al foro @miguixxxx

Aquí está el resultado de su código.

3801 123 \n- 2 + 49 \n------ -----
3801 123\n- 2 + 49\n------ -----

Lo anterior es el resultado esperado.

Feliz codificación

1 Like