Écrire l'interface de connexion
1. Entrez le nom d'utilisateur et le mot de passe
2. Afficher le message de bienvenue après une authentification réussie
3. Verrouiller après une saisie incorrecte à trois reprises
Idée : Les exigences sont les suivantes : lors de l'écriture d'une interface de connexion, il doit y avoir un module pour stocker les informations utilisateur ; pour verrouiller après trois fois, il doit y avoir un module pour stocker les informations utilisateur verrouillées, nous savons qu'il existe deux façons de sauvegarder les informations utilisateur, l'une est ; l'enregistrement de la base de données et l'autre est l'enregistrement des fichiers, nous n'avons maintenant appris que l'enregistrement des fichiers, il y a donc deux fichiers, l'un est le fichier d'informations utilisateur et l'autre est le fichier d'informations utilisateur verrouillé.
Pour lire les informations d'un fichier, ajouter des informations et modifier des informations.
readme :
(1) L'utilisateur saisit le nom d'utilisateur
(2) Utilisateur ; Accédez au fichier verrouillé pour vérifier si l'utilisateur est verrouillé ; s'il est verrouillé, demandez à l'utilisateur de contacter l'administrateur pour le résoudre
(3) S'il n'est pas verrouillé, accédez au fichier utilisateur pour vérifier si l'utilisateur existe et demandez à l'utilisateur de saisir le mot de passe. Le message de bienvenue s'affiche après une saisie réussie ; l'utilisateur est verrouillé après trois saisies incorrectes ; > (4) Si l'utilisateur n'est pas dans le fichier utilisateur, il sera demandé que l'utilisateur n'est pas enregistré et doit s'inscrire. Écrivez un module d'inscription pour permettre à l'utilisateur de s'inscrire. Après l'enregistrement, ajoutez l'utilisateur à la liste des utilisateurs. afficher le message de bienvenue, empêchant l'utilisateur de taper et créant automatiquement un lien vers l'état de connexion.
L'organigramme est le suivant :
active = None #程序执行的标识符 def verification(username):"""验证用户是否锁定"""locked_users = [] with open("locked_file") as locked_f:for line in locked_f: locked_user,locked_pwd = line.split(":") locked_users.append(locked_user) print(locked_users)if username in locked_users: print("对不起,你的用户名已经被锁定,请联系管理员!")else: active = Truereturn active def is_registered(username):"""验证用户是否注册,注册就让用户登录,未注册让用户选择重新输入或者注册"""users = {} with open("active_file","r+") as f:for active_line in f: user,pwd = active_line.split(":") users[user] = pwdif username in users.keys(): test_num = 0while test_num < 3: user_pwd = input("请输入您的密码:")if user_pwd == users[username]: print("welcome back,have a good time!")return Falseelse: test_num += 1else: #用户输入三次以上锁定用户,使用的是while...else...方法 print("对不起,你输入的次数过多,你的用户已经被锁定,请联系管理员!") mes = "\n" + username + ":" + users[username] with open("locked_file","a") as f1: f1.write(mes)return Falseelse: print("您输入的用户名不存在,请按照下面的提示选择!") print("注册:请输入1\n登录:请输入2") num = input("请输入你的选择:")if num == "1": register_name = input("请输入你要注册的用户名:")while True: register_pwd = input("请输入你的密码:") register_pwd2 = input("请再次输入你的密码:")if register_pwd == register_pwd2:breakelse: print("您输入的密码不对,请重新输入") message = "\n" + register_name + ":" + register_pwd print("Thank for your registing,have a good time!") with open("active_file","a") as f_obj: f_obj.write(message)return False elif num == "2": user_name = input("请重新输入你的用户名:") verification(user_name)if __name__ == "__main__": username = input("请输入你的用户名:") active = verification(username)while active: active = is_registered(username)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!