Step-by-step explanation:
what is the problem ? does it not compile or run at all ? it do you get something unexpected ?
did you specify your whole program or just a part ?
based on what I see I would assume it does not compile and produce, so your cannot even start it.
and that should be because the way you defined printAnswer.
you did not specify types for the parameters, and because there is also no call of printAnswer, the compiler does not have any clue about the types that way either.
for userOutput this was different, because the return statements of all the functions (add, subtract, ...) provide the type information.
also, there is no end for the function printAnswer.
the compiler simply goes on after the print statement, assuming that the following still belongs to printAnswer and finds an if-starement checking a variable __name__, which might be unknown to the compiler (if there are no other definitions included at least in the background). and then a call of main.
and then finally printAnswer is finished.
further observations :
the print statements in userOutput clearly want to use strings, but you did not include any ' signs.
I think you meant them to look like
print(firstNumber, ' + ', secondNumber, ' == ', total)
our did you mean it as a user guideline for selecting or rather specifying an operation on the 2 numbers entered earlier ?
then it would be like
print('firstNumber + secondNumber == total')
then you never call printAnswer or userOutput anywhere. you don't ask for the user input anywhere to select the desired operation. and you don't check that input anywhere to define what operation to perform.
so, the main program will ask for the 2 numbers and then simply end.