Tell us what’s happening:
I have completed all of the tasks but none of them are passing in the tests, please help
Your code so far
def arithmetic_arranger(problems, show_answers=True):
#no more than 5 problems error
if len(problems) > 5:
print ("Error: Too many problems")
#not allowed any other operands than + or -
operators =[]
for problem in problems:
array = problem.split()
operators.append(array[1])
for operator in operators:
if operator in ['*','/']:
return "Error: Operator must be '+' or '-'."
#check for non-digits
numbers =[]
for problem in problems:
array = problem.split()
numbers.append(array[0])
numbers.append(array[2])
for number in numbers:
if not number.isdigit():
return 'Error: Numbers must only contain digits.'
#Max of 4 digits in width
elif len(number) > 4:
return 'Error: Numbers cannot be more than four digits.'
#Evaluation
answers = []
top_row = ''
bottom_row = ''
answer_row = ''
dashes = ''
for i in range(0, len(numbers), 2):
num1 = int(numbers[i])
num2 = int(numbers[i + 1])
operator = operators[i // 2]
if operator == '+':
result = num1 + num2
else:
result = num1 - num2
answers.append(result)
#text formatting
space_width = max(len(numbers[i]), len(numbers[i + 1])) + 2
top_row += numbers[i].rjust(space_width)
bottom_row += operator + numbers[i + 1].rjust(space_width - 1)
dashes += '_' * space_width
#Spacing between problems
if i != len(numbers) - 2:
top_row += ' ' * 4
bottom_row += ' ' * 4
dashes += ' ' * 4
#Answers formatting
for i in range(len(answers)):
space_width = max(len(numbers[2 * i]), len(numbers[2 * i +1])) + 2
answer_row += str(answers[i]).rjust(space_width)
#Spacing between answers
if i != len(numbers) - 1:
answer_row += ' ' * 4
#final arrangement
if show_answers:
problems = '\n'.join((top_row, bottom_row, dashes, answer_row))
else:
problems = '\n'.join((top_row, bottom_row, dashes))
return problems
print(f'\n{arithmetic_arranger(["32 - 698", "1 - 3801", "45 + 43", "123 + 49", "988 + 40"], True)}')
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