python/271391.html">python/59593.html">python版本為python3.5
1.要求
1)輸入用戶(hù)名密碼
2)認(rèn)證成功后顯示歡迎信息
3)輸錯(cuò)三次后鎖定
2.需求分析
1)用戶(hù)信息存儲(chǔ)在文件中(login/config/user_login.txt)
2)用戶(hù)輸入用戶(hù)名和密碼
3)判斷用戶(hù)名是否存在,存在則繼續(xù),不存在則提示繼續(xù)輸入
4)判斷輸入的用戶(hù)名是否已經(jīng)被鎖定,如果已鎖定則退出程序,否則繼續(xù)
5)匹配文件中的用戶(hù)信息
6)如果匹配則打印出歡迎信息
7)如果輸入3次密碼錯(cuò)誤,則鎖定該用戶(hù)名(login/config/name_lock.txt)
3.測(cè)試用戶(hù)
bigberg:123abc
lc:123456
smallberg:111111
root:12345
dinasor:12321
# -*- coding: UTF-8 -*-#Author:Bigberg#定義一個(gè)循環(huán)計(jì)數(shù)count = 0#定義一個(gè)字典存儲(chǔ)用戶(hù)名和密碼names={}#定義一個(gè)列表存儲(chǔ)用戶(hù)名name_exit = []#輸入用戶(hù)名username = input("username:")#判斷輸入的用戶(hù)的用戶(hù)是否在用戶(hù)名單中with open("../config/name_login.txt",'r') as f: while True: line = f.readline().strip() if not line: break else: name = line.split(':')[0] passwd = line.split(':')[1] names[name] = passwdfor key in names: name_exit.append(key)#判斷用戶(hù)名是否正確,不正確則繼續(xù)輸入while username not in name_exit: print("The account is not exit.Check it again.") username = input("username:")else: # 讀取鎖定文件中的內(nèi)容 with open("../config/name_lock.txt", "r") as f: lock_name = f.read() # 判斷用戶(hù)名是否在鎖定文件中,如果在就退出程序 if username == lock_name: print("Sorry.Your account has been locked.") exit() else: # 3次輸入密碼的機(jī)會(huì) while count < 3: passwd_input = input("password:") # 判斷用戶(hù)名和密碼是否有效 if passwd_input == names[username]: print("Welcome!", username) break else: print("Error,please try again.") count += 1 # 如果3次輸入密碼錯(cuò)誤,則將用戶(hù)名添加到鎖定文件 if count == 3: with open("../config/name_lock.txt", "w") as f: f.write("%s" % username) print("You have tried 3 times,and your account will be locked")總結(jié)
以上就是本文關(guān)于Python基礎(chǔ)練習(xí)之用戶(hù)登錄實(shí)現(xiàn)代碼分享的全部?jī)?nèi)容,希望對(duì)大家有所幫助。有什么問(wèn)題可以隨時(shí)留言,小編會(huì)及時(shí)回復(fù)大家的。感謝朋友們對(duì)本站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選