Ich bekomme ein Problem in meinem Code. Ich habe ein Programm erstellt, das einen Account erstellt, Benutzernamen und Passwort in einer .txt-Datei speichert. Danach wird nach dem Login gefragt und geprüft, ob Benutzername und Passwort übereinstimmen oder nicht. Aber jedes Mal, wenn die else-Bedingung ausgeführt wird. Und ich bekomme die Ausgabe "Sie haben kein Konto". Bitte helfen Sie. Danke im Voraus.Fehler in Readline() oder Bedingung
# MyProgram: Account Verification
print "\ncreate account:\n"
f = open("data.txt",'w+')
def create():
user_name = raw_input("Enter username >> ")
password = raw_input("Enter password >> ")
confirm = raw_input("Enter password to confirm >> ")
if password == confirm:
f.write(user_name+"\n"+password)
f.close()
print "Account created"
else:
print "\nPassword not matched\n\n Enter details again:\n"
create()
create()
new = open("data.txt")
un = new.readline()
pw = new.readline()
new.close()
def login():
print "\nLogin:\n"
name = raw_input("Enter username >> ")
if name == un:
pas = raw_input("Enter password >> ")
if pas == pw:
print "Welcome!"
else:
print "Wrong password"
login()
else:
print "You don't have any account"
login()
Ich denke, Sie müssen 'strip()' die Ausgabe von 'readline()', um Zeilenumbrüche zu entfernen. –
Können Sie ein Beispiel "data.txt" und eine Eingabe angeben, die das Problem verursacht? –