Caesar Cipher issue

Estou tentando implementar uma cifra de César.

Tentei retornar a mensagem na função, mas recebo uma mensagem de erro (função externa). Alguém pode ajudar por favor?

desde já, obrigado

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)

questionAnswers(1)

yourAnswerToTheQuestion