Tell us what’s happening:
My code works when I test it with problems.
But the console tests keep failing.
I have no idea what to do anymore
Your code so far
def arithmetic_arranger(problems, show_answers=False):
first_line = ''
second_line = ''
third_line = ''
fourth_line = ''
if len(problems) > 5:
print('Error: Too many problems.')
else:
problems = [problem.split() for problem in problems] #list compression to seperate the numbers and operators
for operand in problems:
first = operand[0] #assigning numbers and operator of each problem to variables
operator = operand[1]
second = operand[2]
if operator == '+' or operator == '-': #making sure operations are additions and subraction only
if first.isdigit() and second.isdigit(): #making sure numbers are numericals only
if len(first) > 4 or len(second) > 4: #maximum of four digits per number
print('Error: Numbers cannot be more than four digits.')
else:
#main code location
width = max(len(first), len(second)) + 2 #number of spaces allocated to each operation
result = None #to declare a variable that will store the result of each operation
if operator == '+':
result = int(first) + int(second)
elif operator == '-':
result = int(first) - int(second)
first_line +=str(first).rjust(width)+' '#the variables are strings already, no need for the format string
second_line +=operator+str(second).rjust(width - 1)+' '
third_line +='-'*width+' '
fourth_line +=str(result).rjust(width)+' '
else:
print('Error: Numbers must only contain digits.')
elif operator == '*' or operator == '/':
print("Error: Operator must be '+' or '-'.")
if show_answers == True:
problems = f'{first_line}\n{second_line}\n{third_line}'
else:
problems = f'{first_line}\n{second_line}\n{third_line}\n{fourth_line}'
return problems
arithmetic_arranger(["3801 - 2", "123 + 49"])
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
Challenge Information:
Build an Arithmetic Formatter Project - Build an Arithmetic Formatter Project