I am still working on the same encryption program before and I am currently stuck. 

```
choice = ""
def program (str,my_fn):
    global i
    i=0
    while i<len(str):
        my_fn
        i += 1

def encrypt(my_result):
    message.append(ord(answer[i]))
while choice != "Exit":
    choice = input("Do you want to Encrypt, Decrypt,  or Exit?\n")
    if choice == "Encrypt":
        answer = input("What would you like to encrypt:\n")
        message = []
        program(answer,encrypt(message))

        print (answer)
        print (message)

```

So the first part of the program is simply asking the user if they wish to Encrypt, Decrypt, or Exit the program, this part works perfectly fine. However, my issue is with the functions. Function "program" is intended to serve as a repeater for the inner function for every single letter in the string. However, when I try to run the program, it continues to tell me that "i" isn't defined for the "encrypt" function and does nothing. I am certain I set "i" as a global variable so why isn't this working. In case you are wondering why I chose to make two functions, it is because I will later have to use function "program" multiple time and for this specific assignment I am required to use functions and abstractions. Thanks!