ホームページ > バックエンド開発 > Python チュートリアル > ログインインターフェースはどのように書くのでしょうか?

ログインインターフェースはどのように書くのでしょうか?

PHP中文网
リリース: 2017-06-20 13:46:00
オリジナル
1284 人が閲覧しました

ログインインターフェイスを作成します

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)
ログイン後にコピー

上記のコードは、新規ユーザーの認証機能とロック機能を実装しています。 、しかし、それはありますa 問題は、ユーザーがロックされても、現在のファイルから削除されず、ユーザー情報をロックするファイルに追加されることです。ファイルに情報を追加するのは非常に簡単ですが、ファイルから情報を削除するのは簡単ではありません。非常に単純です。リスト操作では好きなように行うことはできません。最初に変換するしかないし、リスト内のファイルを操作するときに改行などが非常に気持ち悪い。上記のコードは次のように変換されます。学習は面倒ですが、次は他の人が書いたコードを参考にして、ファイル内の不要な情報を削除する方法を学び、改善します。上記のコード。

以上がログインインターフェースはどのように書くのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート