<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                >[info] 本練習,是根據前面學習的知識而設置,請獨立完成功能。如果你還無法獨立完成以下練習,則證明還沒有掌握前面的章節,好好回顧一下吧。 ## 題目要求: >[success] >1. 讓用戶輸入賬號與密碼 >2. 如果賬號密碼匹配(用戶名:Milton,密碼:123456),則提示歡迎信息,退出程序 >3. 如果賬號不存在,則提示賬號不存在,重新回到步驟1 >4. 如果密碼不匹配,則提示密碼有誤,重新回到步驟1 >5. 密碼連續錯誤3次以上,提示賬號已被鎖定,重新回到步驟1 ## 規則 * 請獨立完成實戰要求,完成后再參考下面的示例代碼 * 如果覺得自己的代碼<span style="color:red">*更加優雅,更加高效*</span>,歡迎留言**,與大家一起**分享**哦~ :-: <span style="color:green;font-size:30;">一起來挑戰吧~</span> <br> ## 參考代碼 ```python # 用戶數據 users = [ {'name': 'Milton', 'password': '123456', 'errors': 0}, {'name': 'Cherish', 'password': '654321', 'errors': 0} ] while True: user = None index = None input_name = input("用戶名:").strip() input_pwd = input("密碼:").strip() # 從用戶數據中查找用戶名匹配的數據 for i, item in enumerate(users): if input_name == item.get("name"): index = i user = item break # 如果用戶名存在 if user: # 用戶錯誤次數3次以上 if int(user["errors"]) >= 3: print("您的賬號已被鎖定,請聯系管理員") continue # 密碼匹配 if input_pwd == user.get("password"): print("恭喜您,登錄成功") break # 密碼不匹配 else: # 更新用戶錯誤次數 user["errors"] = int(user.get("errors")) + 1 users[index] = user # 密碼不匹配時的提示 if user["errors"] >= 3: print("您連續輸入3次錯誤密碼,賬號已被鎖定,請聯系管理員") else: print("密碼不匹配!") # 用戶不存在 else: print("用戶名不存在!") ``` ### 代碼解釋: 1. 這里使用了前面章節介紹的列表與字典來存儲用戶信息 ```python users = [ {'name': 'Milton', 'password': '123456', 'errors': 0}, {'name': 'Cherish', 'password': '654321', 'errors': 0} ] ``` 2. 巧用while True 死循環,直到正確登錄后才退出程序,否則一直循環讓用戶輸入 3. 獲取到用戶的輸入用戶名后,從用戶列表中遍歷尋找,如果找得到用戶名相等的用戶字典,則將該用戶的索引位置index和值user提取出來。方便后面修改user中的登錄錯誤次數,然后根據索引位置更新用戶列表中的數據 4. 完成步驟3的循環后,主要判斷邏輯如下: ```python 如果user存在: 如果用戶登錄錯誤次數大于3: 提示已鎖定 否則: 如果密碼匹配: 登錄成功,退出程序 否則: 登錄錯誤次數+1 提示密碼不匹配 否則: 提示用戶不存在 ``` <hr style="margin-top:100px"> :-: ![](https://box.kancloud.cn/2ff0bc02ec938fef8b6dd7b7f16ee11d_258x258.jpg) ***微信掃一掃,關注“python測試開發圈”,了解更多測試教程!***
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看