ich einen Code haben, um zu versuchen und ein bestimmtes Element in einer Liste in eine Textdatei zu ändern. Die Textdatei enthält E-Mail, Passwort in jeder Zeile wie ein Login-System. Der Code fragt nach einer Benutzereingabe für eine E-Mail, dann sucht binary nach diesem Benutzer in der Liste in der Textdatei. Wenn der Benutzer anwesend ist, möchte ich das Passwort für diesen Benutzer ändern, indem Sie das Element [1] an die Liste anhängen. Hier ist mein Code, um das Passwort so weitÄndern eines bestimmten Artikel in einer Textdatei Liste
def ChangePassword():
while True:
email=input("Enter the email you want to change the password for")
res=BinarySearch(logindata,email)
if res:
break
zum Ändern Ich weiß, es ist nicht viel, aber ich havent Ahnung, wie dies zu tun, wie würde ich diesen Ansatz?
Hier ist mein Code für die Binärsuche selbst, falls erforderlich.
def BubbleSort(logindata):
NoSwaps = 1
N = len(logindata)
logindata = list(logindata)
while NoSwaps == 1:
Count = 1
NoSwaps = 0
for Count in range(N-1):
if logindata[Count] > logindata[Count+1]:
temp = logindata[Count]
logindata[Count] = logindata[Count+1]
logindata[Count+1]=temp
NoSwaps=1
return tuple(logindata)
def BinarySearch(logindata,email):
First=0
Last=len(logindata)-1
while First <= Last:
Midpoint = (First + Last) // 2
if logindata[Midpoint][0] == email:
print("Email Found")
return True
elif logindata[Midpoint][0] > email:
Last = Midpoint - 1
else:
First = Midpoint + 1
print("Not found")
return False
Sind Sie absolut sicher, dass die Datei sortiert ist? Python-Einbauten sind jedenfalls (zumindest) so schnell wie Ihre Implementierung. Warum implementieren Sie die Suche erneut? – kabanus
Weil ich eine binäre Suche verwenden haben, der Punkt ist, ich weiß es ärgert, auch wenn es so effizient ist nicht, und über die Datei es sein sollte sortiert werden als die Blase sortieren sie alphabetisch sortiert? @ kabanus –
Also um klar zu sein, lesen Sie eine Datei, Blase sortieren, binäre Look für E-Mails und ändern Sie ein Element, dann schreiben Sie das Ergebnis (in eine neue Datei oder die ursprüngliche)? ja – kabanus