Also mache ich einen Passwort-Keeper zum Spaß (nicht für etwas anderes als das Unterrichten selbst), und ich möchte der Benutzer in der Lage sein, ihren Benutzernamen und ihr Passwort zu bearbeiten.Wie ändere ich den Wert einer Variablen für die spätere Verwendung?
Die Art, wie ich es eingerichtet hatte ist es fragt Sie nach einem Benutzernamen und einem Passwort, es überprüft Ihre Antworten gegen ein paar sehr spezifische Werte (Zeile 74), wenn die Aussage wahr wäre, würde es Zugriff erlauben und wenn es ist nicht, es würde den Zugang verweigern.
Ich habe dann versucht, die Aussage zu setzen "if (yourUser == yourNewUser und yourPass == yourNewPass):" es gibt mir eine Variable undefined Fehler, wenn ich versuche mich einzuloggen, was ich irgendwie erwartet.
Also habe ich versucht, die Variablen früh zu definieren, setzen Sie jede von ihnen als 0, wenn das Passwort unverändert ist, würde es auf das normale Bit gehen, und wenn sie geändert wurden oder wenn sie nicht gleich 0 sind würde zu einer anderen Funktion gehen, die das gleiche tut und es irgendwie funktioniert, aber dann verweigert mir Zugang ...
Ich weiß nicht, was ich als nächstes versuchen soll. Wenn Sie irgendeine Erläuterung zu allem, was ich gesagt habe, brauchen, fragen Sie einfach und ich werde versuchen zu helfen.
Hier ist mein Code:
#The goodbye or end statement
def goodbye():
print('Good Bye! :{D')
#The main password request statement
def request():
reqPass = input('Which password would you like?[Google, Twitter, Reddit, Computer]')
#still need to figure out dictionary manipulation so this is a temporary sytem.
if(reqPass == 'Google' or reqPass == 'google'):
print('________________')
print('Pass: GOOGLEPASSHERE')
print('________________')
reqSecPass = input('Request another password?[y/n]')
if(reqSecPass == 'y' or reqSecPass == 'Y'):
request()
else:
goodbye()
elif(reqPass == 'twitter' or reqPass == 'Twitter'):
print('_________________')
print('User: TWITTERUSERHERE')
print('Pass: TWITTERPASSHERE')
print('________________')
reqSecPass = input('Request another password?[y/n]')
if(reqSecPass == 'y' or reqSecPass == 'Y'):
request()
else:
goodbye()
elif(reqPass == 'computer' or reqPass == 'Computer'):
print('________________')
print('Pass: COMPUTERPASSHERE')
print('________________')
reqSecPass = input('Request another password?[y/n]')
if(reqSecPass == 'y' or reqSecPass == 'Y'):
request()
else:
goodbye()
elif(reqPass == 'reddit' or reqPass == 'Reddit'):
print('_________________________')
print('User: REDDITUSERHERE')
print('Pass: REDDITPASSHERE')
print('________________')
reqSecPass = input('Request another password?[y/n]')
if(reqSecPass == 'y' or reqSecPass == 'Y'):
request()
else:
goodbye()
#This is the start of the changed password function
def changedpass():
if(yourUser == yourNewUser and yourPass == yourNewPass):
dirCheck = input('Account settings?[y,n]')
if(dirCheck == 'y' or dirCheck == 'Y'):
#This is the start of the password/username thing
print('this function is not working yet!')
actSetCheck = input('Change username or password?')
if(actSetCheck == 'user' or actSetCheck == 'User' or actSetCheck == 'Username' or actSetCheck == 'username'):
yourNewUser = input('What would you like your new username to be?')
elif(actSetCheck == 'pass' or actSetCheck == 'Pass' or actSetCheck == 'password' or actSetCheck == 'Password'):
yourNewPass = input('What would you like your new password to be?')
elif(dirCheck == 'n' or dirCheck == 'N'):
request()
#setting the variables early on
yourNewUser == 0
yourNewPass == 0
#This is the "title screen"
print('_____This is a password keeper_____')
#checking if the user has an account
actCheck = input('Do you already have an account?')
if(actCheck == 'Yes' or actCheck == 'yes'):
#Checking to see if the yourNewUser or yourNewPass variable has been changed
if(yourNewUser != '0' or yourNewPass != '0'):
changedpass()
#asking for user's name and password
else:
yourUser = input('___What is your Username?___')
yourPass = input('___What is your Password?___')
if(yourUser == 'ari' and yourPass == 'rycbar1234'):
dirCheck = input('Account settings?[y,n]')
if(dirCheck == 'y' or dirCheck == 'Y'):
#This is the start of the change password/username thing
print('this function is not working yet!')
actSetCheck = input('Change username or password?')
if(actSetCheck == 'user' or actSetCheck == 'User' or actSetCheck == 'Username' or actSetCheck == 'username'):
yourNewUser = input('What would you like your new username to be?')
elif(actSetCheck == 'pass' or actSetCheck == 'Pass' or actSetCheck == 'password' or actSetCheck == 'Password'):
yourNewPass = input('What would you like your new password to be?')
elif(dirCheck == 'n' or dirCheck == 'N'):
request()
#incorrect password thing
else:
print('Incorrect Username or password')
Ich glaube, Sie brauchen 'global yourNewUser, yourNewPass' in' changedPass'. Andernfalls weist er lokalen Variablen zu, nicht den globalen Variablen. – Barmar
Was ist der Unterschied zwischen einer globalen und einer lokalen Variablen und wie definiere ich eine Variable als global? Außerdem bin ich bei Python ziemlich neu, also versuche, wenn möglich, Laien zu benutzen. Vielen Dank! –