When I run my code I get these errors:
linechoice = input("What password do you want to delete?:\n")
UnboundLocalError: local variable 'input' referenced before assignment
def delete():
print("Welcome to the password delete system.")
file = open("pypyth.txt", "w")
output = []
linechoice = input("What password do you want to delete?:\n")
if linechoice == "email":
for line in file:
if "Hotmail" != line.strip():
output.append(line)
print("Password " + linechoice + " deleted.")
y_n = input = ("Do you want to save these changes?\ny/n\n")
if y_n == "y":
file.close()
print("Change saved.")
input("Press enter to go back to menu")
main()
else:
main()
elif linechoice == "skype":
for line in file:
if "Skype" != line.strip():
output.append(line)
print("Password " + linechoice + " deleted.")
y_n = input = ("Do you want to save these changes?\ny/n\n")
if y_n == "y":
file.close()
print("Change saved.")
input("Press enter to go back to menu")
main()
else:
main()
else:
You are assigning a string to the variable
input
ininput
now has the value of'Do you want to save these changes?\ny/n\n'
However, you are also calling the built-in function
input
inConsider changing the name of your variable to avoid these conflicts.
Looking at the context of the program, you are probably expecting
instead of
If you got this error, due to calling input():
than you should check whether your runtime python interpreter is 3.x, if you were assuming it is 2.x.
This Error happened to me while executing on python 3.6:
So I got rid of this, and instead used: