我在 python 3 中有一个名称错误,它与变量 "userMessage"

I have a Name error in python 3, it is with the variable "userMessage"

#Start
def main():
    #variables
    encryptedMessage=""
    userMessage = input("you're message here: ")
    shift=5
    #for loop
    for character in userMessage:
        #5:50AM February 24th, 2020
        eN = ord(character)
        eN+= shift
        encryptedMessage += chr(eN)
main()
print(userMessage)
print(encrytedMessage)

我已经 python 一年了,从来没有遇到过这个错误,主要是因为我没有使用 for 循环。当我在 print 或 for 循环中使用 userMessage 时出现错误。我曾尝试使用全局解决此问题,但它没有用,所以我只是将其删除。

Traceback (most recent call last):
  File "C:/Users/Eshan/Downloads/cypher.py", line 18, in <module>
    print(userMessage)
NameError: name 'userMessage' is not defined

由于您正在尝试打印局部变量的值,因此您会收到 "userMessage" not defined 错误。 如果你想在你的函数之外使用它,你需要将变量声明为全局变量并需要启动它