ホームページ  >  記事  >  バックエンド開発  >  Python のログイン モジュールの詳細な紹介

Python のログイン モジュールの詳細な紹介

零下一度
零下一度オリジナル
2017-07-21 14:19:243247ブラウズ

ログインモジュール:

どの Web サイトにアクセスしても、この状況によく遭遇します。この Web サイトにログインしてみましょう。フローチャートは次のとおりです。

思考:

1. Web サイトにログインするとき、最初にユーザー名を入力します。このとき、一部の Web サイトでは、入力したユーザー名が存在するかどうかを確認するメッセージが表示されます。現時点では、ユーザー名が存在しません。再入力するか、ユーザーに再入力を求めるだけです。

2. ユーザー名が存在する場合、パスワードを入力する際、パスワードが正しいかどうかを検証しないことはわかっています。最初にパスワードが正しいかどうかを直接検証すると、ユーザーに検証コードを入力させる役割が失われます。常に最初にパスワードを確認せず、ユーザーに確認コードを入力させ、まずユーザーが入力した確認コードが正しいかどうかを確認します

3. 確認コードが間違っている場合、ユーザーは再確認を求められます。 - 確認コードを入力します。確認コードが正しい場合は、この時点でパスワードが正しいかどうかを再確認する必要があります。パスワードが正しい場合は、ログインが成功します。このとき、ユーザーはすでにユーザー名を入力しているため、パスワードと認証コードを再入力する必要はありません。 ; つまり、パスワードを再入力してから、認証コードを入力します。パスワードが正しければ、ログインは成功します。そうでない場合は、パスワードと認証コードを再入力する必要があります。

上記のコードの機能を実現するには、while ループを使用する必要があります。これはレイヤーごとの検査であるため、ユーザーが正しい確認コードを入力するまで、ユーザー名の入力はループする必要があります。重要なのは、ユーザー名が間違って入力された場合に、ユーザー名を再入力する必要がないことです。ユーザー名が正しい場合は、サイクルを停止する必要があり、次回ユーザーがパスワードまたは確認コードを入力するときにユーザー名をループすることはできないことを考慮してください。

コードは次のように実装されます:

def login(name,password):'''用户登录模块,用户登录时候的各种设置,本次实现功能''''''用户登录验证的时候,一般会先判断验证码是否正确,因此要让用户首先验证验证码'''active = Truewhile True:while active:
            username = input("请输入你的用户名:")'''首先验证用户名是否存在'''users = []for user_list in userfile.usernames:
                users.append(user_list[0])if username in users:
                active = Falseelse:
                print("对不起,您输入的用户名不存在,请重新输入:")
        pwd = input("请输入你的密码:")while True:'''加入一个用户输入验证码的模块,让用户输入验证码'''verification_code = str(random.randint(0,9)) + chr(random.randint(65,90)) + str(random.randint(0,9)) + chr(random.randint(97,122))
            print(verification_code)
            test_num = input("请输入验证码:")if test_num == verification_code.lower() or test_num == verification_code.upper():'''无论用户输入大小写都可以验证成功''''''用户验证成功后,开始进行用户自己的认证,是否注册,或者用户名正确'''breakelse:
                print("您输入的验证码有误,请重新输入!")if [username,int(pwd)] in userfile.usernames:
            print("Successful!")return (username,pwd)else:
            print("对不起,您输入的密码有误,请重新输入:")
上記のコードは次のように実行されます:

请输入你的用户名:geng
请输入你的密码:1233D0t
请输入验证码:3d0t
对不起,您输入的密码有误,请重新输入:
请输入你的密码:2228I9z
请输入验证码:8888您输入的验证码有误,请重新输入!
2G0j
请输入验证码:8888您输入的验证码有误,请重新输入!
7T1a
请输入验证码:7t1a
对不起,您输入的密码有误,请重新输入:
请输入你的密码:22227X4q
请输入验证码:7x4q
对不起,您输入的密码有误,请重新输入:
请输入你的密码:6662O0q
请输入验证码:2o0q
Successful!('geng', '666')

上記のコードの実行結果は上記のようになります。ループのみを停止したい場合は、このループに識別子を設定してループを開くか、条件が満たされたらループを閉じます。他のプログラムを実行しているときは、ループは開かれません。

active = True
while True:
while active:
username = input("usernameを入力してください:")
'''最初にユーザー名が存在するかどうかを確認してください'''
with
if ユーザー名in users: active =
False
else: print(
"入力したユーザー名は存在しません。再入力してください:
") パスワード:
")
上記のコードでは、このループを停止したい場合は、内側のループの識別子を閉じたままにするだけです。

以上がPython のログイン モジュールの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。