Problema de cifrado César

Estoy tratando de implementar un cifrado César.

Intenté devolver el mensaje en la función, pero recibo un mensaje de error (función externa). ¿Alguien puede ayudar, por favor?

Gracias por adelantado

cat
cate
catec
catecv

message = input("type message ")

shift = int(input("Enter number to code "))
message = message.lower() #convets to lower case
print (message)

for a in message:
    if a in "abcdefghijklmnopqrstuvwxyz":
        number = ord(a)
        number += shift
        if number > ord("z"):
            number -= 26
        elif number < ord("a"):
             number += 26
        message = message + (chr  ( number))

    print (message)

Respuestas a la pregunta(1)

Su respuesta a la pregunta