English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Anforderung zur Erstellung eines Login-Interfaces:
1. geben Sie Benutzername und Passwort ein
2. nach der Authentifizierung wird eine Begrüßungsmeldung angezeigt
3. der Benutzername wurde falsch eingegeben, anzeigen einer Meldung, dass der Benutzer nicht existiert, neu eingeben (5. zu viele Fehlerversuche, anzeigen einer Meldung, dass der Versuchszähler zu hoch ist, das Programm beenden)
4. Benutzername korrekt, Passwort falsch, anzeigen einer Meldung, dass das Passwort falsch ist, neu eingeben.3次, festlegen des Benutzernamens und Anzeigen einer Meldung, das Programm beenden)
readme
Anwendungswissen:
Eins, Dateioperationen
Grundlegende Operationen
f = open('lyrics','r',) # Datei öffnen first_line = f.readline() print('first line:', first_line) # Eine Zeile lesen data = f.read()# Rest des Inhalts lesen, nicht verwenden, wenn die Datei groß ist print(data) # Datei drucken f.close() # Datei schließen
Die Arten, Dateien zu öffnen:
r, Lesemodus (Standard).
w, Schreibmodus. [Nicht lesbar; Existiert nicht, wird erstellt; Existiert, wird gelöscht]
a, Anhängemodus. [Lesbar; Existiert nicht, wird erstellt; Existiert, wird nur angehängt]
Mit dem with-Ausdruck können mehrere Dateien gleichzeitig geöffnet werden und es kann verhindert werden, dass Dateien nach dem Öffnen vergessen werden, Syntax:
with open('file1', 'r', encoding='utf-8') as f , \ open('file2', 'w', encoding='utf-8') as f_2 : ...
Im vorliegenden Beispiel gibt es2Es gibt zwei Dateien, eine speichert Benutzernamen und Passwörter, und die andere speichert die Schwarze Liste. Wie man Dateien nach dem Lesen in Python-Objekte umwandelt und dann mit den Objekten arbeitet, war meine erste Herausforderung!
Dann habe ich nach Informationen gesucht und festgestellt, dass das split-Methode des Strings den String an der Stelle der Komma-Trennzeichen aufteilen kann, um eine Liste von Substrings zu erhalten. Auf diese Weise kann man nach der Schwarzen Liste suchen und andere Operationen durchführen.
... user_lis_bak = f.readline().split(',') ...
Die Funktion setdefault() des Python-Wörterbuchs ist ähnlich wie das get()-Verfahren, wenn der Schlüssel nicht bereits im Wörterbuch vorhanden ist, wird der Schlüssel hinzugefügt und der Wert auf den Standardwert gesetzt.
dict.setdefault(key, default=None)
Zwei, Liste und Wörterbuch
Eine Liste ist eine der häufigsten Daten Typen, die wir am häufigsten verwenden, und mit einer Liste können Sie Daten auf die bequemste Weise speichern und bearbeiten.
names = ['xiaoli', 'xiaoming', 'yuanlu']
Durch die Indizierung können Sie Elemente in einer Liste aufrufen, die von 0 beginnend gezählt wird.
>>> names[0] 'xiaoli' >>> names[1] 'xiaoming' >>> names[-1] 'yuanlu' >>> names[-2] # Man kann es auch umgekehrt abrufen 'xiaoming'
Ein Wörterbuch ist ein Schlüssel - Der Daten Typ von value, der wie das Wörterbuch, das wir in der Schule benutzen, verwendet wird, um detaillierte Inhalte der entsprechenden Seite über Striche und Buchstaben zu finden.
info = { 'xiaoli': "123456" 'xiaoming': "111111" 'yuanlu': "888888" }
这里key是用户名,value是密码,一一对应,key是唯一的。
三、for loop 和 if...else
for i in range(10): print(i)
还是上面的程序,但是遇到大于5的循环次数就不走了,直接退出
for i in range(10): if i>5: continue #不往下走了,直接进入下一次loop print(i)
用户名和密码文件格式:
xiaoli 123456
xiaoming 888888
wangpeng 111111
luyuan 112222
qiling 556666
haiming 223333
黑名单文件格式:
xiaoli,xiaoming,wangpeng,
代码
with open('user_lis', 'r', encoding='utf-8') as f_user_lis,\ open('user_lis_bak', 'r', encoding='utf-8') as f_user_lis_bak: # 打开文件'user_lis'和'user_lis_bak' user_lis_bak = f_user_lis_bak.read().split(',') # 读取f_user_lis_bak并转成列表赋值给 user_lis_bak user_lis_dict = {} # 定义一个空字典 for i in f_user_lis: user_lis_dict.setdefault(i.split()[0], i.split()[1]) # 读取f_user_lis并把值放入字典user_lis_dict中 count = 0 for i in range(5): # 设置错误次数上限为5次 name = input('请输入用户名>>') password = input('请输入密码>>') if name in user_lis_bak: # 第一步先查找黑名单 print('用户名已被锁定,请联系管理员!!!') continue # 在黑名单中直接进入下一次循环,重新输入用户名和密码 elif name in user_lis_dict: # 第二步查找用户白名单 if password == user_lis_dict.get(name): # Passwort korrekt, Überprüfung bestanden Abtreten print('Liebe Mitglieder', name, 'willkommen zurück') break else: # Passwortfehler, Fehlermeldung if count == 2: name_bak_write = open('user_lis_bak', 'a', encoding='utf-8') name_bak_write.write(name+',') name_bak_write.close() # 3mal Passwortfehler, schreibe den Benutzernamen in die Schwarze Liste print('Benutzername gesperrt, wenden Sie sich bitte an den Administrator!!!') break print('Passwortfehler!!!') count += 1 # Passwort falsch einmal, count wird+1 else: if i == 4: # Benutzername falsch5mal, direkt abbrechen print('Zu viele Versuche, Abschied!!!') continue print('Benutzername existiert nicht!!!') # Benutzername falsch, Fehlermeldung
Diese Anleitung zur Implementierung des Benutzeranmeldeprozesses für Python-Einsteiger (Beispiel) ist alles, was der Autor Ihnen mitteilen möchte. Hoffentlich ist es für Sie ein Referenzmaterial, und wir hoffen, dass Sie die Anleitung mehr unterstützen.
Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet übernommen und gehört dem Urheberrechtsinhaber. Der Inhalt wurde von Internetbenutzern selbstständig beigesteuert und hochgeladen. Diese Website besitzt keine Eigentumsrechte und hat den Inhalt nicht manuell bearbeitet. Sie trägt auch keine Haftung für rechtliche Fragen. Wenn Sie verdächtige Urheberrechtsinhalte finden, senden Sie bitte eine E-Mail an: notice#w3Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet übernommen und gehört dem Urheberrechtsinhaber. Der Inhalt wurde von Internetbenutzern selbstständig beigesteuert und hochgeladen. Diese Website besitzt keine Eigentumsrechte und hat den Inhalt nicht manuell bearbeitet. Sie trägt auch keine Haftung für rechtliche Fragen. Wenn Sie verdächtige Urheberrechtsinhalte finden, senden Sie bitte eine E-Mail an: notice#w