ホームページ >バックエンド開発 >Python チュートリアル >Python のログイン モジュールの詳細な紹介
ログインモジュール:
どの 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 サイトの他の関連記事を参照してください。