首頁 >後端開發 >Python教學 >python中登入模組的詳細介紹

python中登入模組的詳細介紹

零下一度
零下一度原創
2017-07-21 14:19:243312瀏覽

登入模組:

  我們無論上那個網站,經常遇到這樣的情況,讓我們登入這個網站,流程圖如下:

想法:

#  1.當我們登入網站的時候,我們會先輸入使用者名,這個時候,有些網站會提醒我們用戶名是否存在,如果我們輸入的用戶名不存在的話,會出現提示,告訴我們用戶名不存在,這個時候,我們就需要重新輸入,或者選擇註冊,當然,我們這裡只是讓用戶重新輸入;

  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("請輸入你的使用者名稱:")
         ##:")          ##:") #'''
           users = []            #  users.append(user_list[
0])          if username
in users:              active =
False          else:#1#            else:
           else: #     〠您輸入的使用者名稱不存在,請重新輸入:")
       pwd = input(
"請輸入你的密碼:")
#請輸入你的密碼:")

########  上述程式碼,我們就實現了這樣的功能,當我們想要停止這個循環的時候,我們就讓內層循環的標識符關閉。 ######

以上是python中登入模組的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn