This is a general query, not related to any specific exercise.
I've completely finished the Python course and am now 70% of the way through it a second time. But I still am confused by functions, and specifically what printing, calling and returning them actually means.
Sometimes you don't need to call them (i.e. print, or return seems to do), sometimes returning before printing (or vice versa) breaks the whole code, sometimes not. And sometimes you have to keep the print statement all the way out left, and sometimes you need to nest it under the rest of your function.
I have no idea why any of these things happen.
Would love an explanation.