ログインインターフェイスを作成します
1. ユーザー名とパスワードを入力します
2. 認証が成功した後にウェルカムメッセージを表示します 3. 3 回間違って入力するとロックします
アイデア:ですログイン インターフェイスを作成するには、ユーザー情報を保存するモジュールが必要です。3 回後にロックするには、ロックされたユーザー情報を保存するモジュールが必要です。ユーザー情報を保存するには 2 つの方法があることがわかっています。ファイルの保存についてはまだ学習したばかりなので、ファイルは 2 つあり、1 つはユーザー情報ファイル、もう 1 つはロックされたユーザー情報ファイルです。
ファイルから情報を読み取り、情報を追加し、情報を変更します。
readme:
(1) ユーザーはユーザー名を入力します。
(2) ロックされているかどうかを確認するために、ユーザー名がファイルに含まれています。問題を解決するために管理者に連絡するように求められます。
(3) ロックされていない場合は、ユーザー ファイルに移動してユーザーが存在するかどうかを確認します。ユーザーがパスワードを入力すると、成功後にウェルカム メッセージが表示されます。エントリ; ユーザーは 3 回間違ったエントリを入力するとロックされます。
(4) ユーザーがユーザー ファイルに存在しない場合は、登録が必要であることを示すメッセージが表示されます。登録モジュールを作成して許可します。ユーザーを登録し、登録後にユーザーをユーザー リストに追加し、ウェルカム メッセージを表示してユーザーの入力を防ぎ、ログイン ステータスに自動的にリンクします。
フローチャートは次のとおりです:
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)
以上がログインインターフェースはどのように書くのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。