Question: I have created a variable inside the Start() procedure but it doesn't seem remember the variable outside of the procedure. Is there a way of getting python to remember the variable outside of the Start() procedure? My code is as follows:

```
def Start():
    password = raw_input("Enter A Password With 7 Or More Characters: ")
    passwordLength = len(password)
    if passwordLength<7:
        print "Your entered a password with less than 7 characters. Enter a longer password."
        Start()
    else:
        reEnter = raw_input("Re-enter your password: ")
        if reEnter<>password:
        print "Your passwords did not match, please try again."
        Start()
        if reEnter==password:
        print "Your password has been saved."

Start()

print password
print passwordLength

```

Answer: 
I am assuming here that password and passwordLength are global variables. For this, you would use the global keyword, by simply at the beginning of your Start() defining them like so:

```
def Start():
    global password
    global passwordLength

    password = raw_input("Enter A Password With 7 Or More Characters: ")
    passwordLength = len(password)
    if passwordLength<7:
        print "Your entered a password with less than 7 characters. Enter a longer password."
        Start()
    else:
        reEnter = raw_input("Re-enter your password: ")
        if reEnter<>password:
            print "Your passwords did not match, please try again."
            Start()
        if reEnter==password:
            print "Your password has been saved."

```

However, globals are often frowned upon in python. If possible try and use return to print your output, but for most cases global is just fine.
Do

```
def Start():
    global password
    global passwordLength
    ....

```