Home > other >  Fixing Input UnboundLocalError
Fixing Input UnboundLocalError

Time:01-31

In my code I'm trying to code a password login loop that will keep requiring a password input until a correct password (defined in an .env file) is given. However, when I run the code below I get an "UnboundLocalError cannot access local variable 'input' where it is not associated with a value." Any ideas?

Here is my code that gives the error: `from decouple import config

from speech_rec import speak, take_user_input

LOGIN=config("SHA-512")

def login(): while True: input=input("PASSWORD: ") if input==LOGIN: break else: speak("Try Again") continue login() #rest of code for i in range(10): print(i)`

CodePudding user response:

This is most likely because you used one of python's built-in (input) as a variable name.

import builtins

print("input" in dir(builtins))
#True

Try to give your variable a different name :

from speech_rec import speak, take_user_input

LOGIN=config("SHA-512")

def login():
    while True:
        input_val = input("PASSWORD: ")
        if input_val == LOGIN:
            break
        else:
            speak("Try Again")
        continue
  • Related