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: 
You can return your variable at the end of your function.

```
def Start():
    password = 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.")
        return Start()
    else:
        reEnter = input("Re-enter your password: ")
        if not reEnter == password:
            print("Your passwords did not match, please try again.")
            return Start()
        else:
            print("Your password has been saved.")
            return password, passwordLength

savedPass, passLength = Start()

print(savedPass)
print(passLength)

```

EDIT: Edited style (thanks @jrennie) and recursive calls. (thanks @bgporter)
Do

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

```