For the life of me, I can't figure out why my Python Arithmetic Formatter fails

Maybe it’s not the prettiest code, but the output seems to match what is expected/required. But it fails ALL the checks. I can’t figure out why. Any ideas?

def arithmetic_arranger(problems, solutions=False):
    equation_len = len(problems)
    if equation_len > 5:
        return print("Error: Too many problems.")
    inpt_split = []
    line1 = ""
    line2 = ""
    line3 = ""
    line4 = ""
    for calc in problems:
        split_calc = calc.split()
        inpt_split.append(split_calc)
    for num1, term, num2 in inpt_split:
        if term != "+" and term != "-":
            return print("Error: Operator must be '+' or '-'.")
        if len(num1) > 4 or len(num2) > 4:
            return print("Error: Numbers cannot be more than four digits.")
        try:
            int(num1)
            int(num2)
        except ValueError:
            return print("Error: Numbers must only contain digits.")
        max_length = max(len(num1)+2, len(num2)+2)
        line1 += " "*(max_length-len(num1)) + num1 + "    "
        line2 += term + " "*(max_length-len(num2)-1) + num2 + "    "
        line3 += "-"*max_length + "    "
        if term == "+":
            sums = int(num1) + int(num2)
        elif term == "-":
            sums = int(num1) - int(num2)
        line4 += " "*(max_length-len(str(sums))) + str(sums) + "    "
    if solutions == False:
        line4 = ""
    arranged_problems = print(f"{line1.rstrip()}\n{line2.rstrip()}\n{line3.rstrip()}\n{line4.rstrip()}")
    return arranged_problems

The problem asked your function to return a string with the appropriate content…what you seem to be doing in your program’s return statement is not returning a string, but instead printing the string to screen, which in turn would return a value of None.

return "Hello World" is not the same as
return print("Hello World")

Thank you! All I had to do was remove the print() from each return line… and it completely passed!

For whatever reason I wasn’t getting “none” on my output in Replit… weird. But that worked. Appreciate it is much.