Python文件操作模擬用戶登陸代碼實例
題目要求
1、輸入用戶名和密碼后回車
2、密碼輸入錯誤,給出提示,并選擇是否重新輸入
3、密碼輸入錯誤三次后,用戶被鎖定,無法繼續(xù)登陸
構思
1、用戶輸入賬號和密碼后,需要判斷賬號是否存在
2、判斷賬號是否被禁用(錯誤次數(shù)大于三次)
3、判斷賬號密碼是否正確
4、不同的錯誤給出不同的提示
5、每輸入錯一次,文檔中的錯誤次數(shù)需要更新
6、如果三次以內(nèi)用戶登陸成功,密碼原來的錯誤次數(shù)被重置
題目完成步驟
1、文檔的編寫
考慮到數(shù)據(jù)的存儲問題,決定將賬號、密碼、錯誤次數(shù)進行分行存儲,三行為一組用戶信息
2、代碼編寫
go = True while go: # 用來判斷賬號是否存在 no_existence_flag = True # 用來判斷是否輸入正確 no_flag = True # 用來判斷是否已經(jīng)被封 disable_flag = True # 用來判斷次數(shù)是否已經(jīng)超過限制 account = input("account:") password = input("password:") # 判斷賬號是否存在(自己寫入已存在用戶的賬號密碼) file = open("C:/Users/Lenovo/Desktop/user.txt","r") # 用于拼接文本內(nèi)容 file_data = "" while True: line = file.readline() if not line: break file_data += line line_content = line.strip() # 判斷是否存在賬號 if account == line_content: no_existence_flag = False true_password = file.readline() file_data += true_password true_password_content = true_password.strip() disable_flag_line = file.readline() disable_flag_num = int(disable_flag_line.strip()) # 判斷賬號是否被禁用 if disable_flag_num != 3: print("It is not disable!",disable_flag_num) disable_flag = False # 判斷密碼是否正確 if password == true_password_content: no_flag = False print("Welcome in this system,{account}!".format(account = account)) go = False disable_flag_line = disable_flag_line.replace(str(disable_flag_num),str(0)) file_data += disable_flag_line else: disable_flag_line = disable_flag_line.replace(str(disable_flag_num),str(disable_flag_num+1)) file_data += disable_flag_line else: file_data += file.readline() else: file_data += file.readline() file_data += file.readline() file.close() # 賬號不存在的報錯 if no_existence_flag: print("This account is not existence!") print("Do you want to try it again......") flag = input("Please input you think:") if flag == "N": go = False continue # 賬號被禁用的報錯 if disable_flag: print("You account is disable,please go home by youself!") print("Do you want to try it again......") flag = input("Please input you think:") if flag == "N": go = False continue # 賬號密碼錯誤的報錯 if no_flag: file = open("C:/Users/Lenovo/Desktop/user.txt","w") print(file_data) file.write(file_data) file.close() print("Your password is not right,please try it again!") print("Do you want to try it again......") flag = input("Please input you think:") if flag == "N": go = False # 重置輸入次數(shù) else: file = open("C:/Users/Lenovo/Desktop/user.txt","w") print(file_data) file.write(file_data) file.close()
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
通過實例解析python subprocess模塊原理及用法
這篇文章主要介紹了通過實例解析python subprocess模塊原理及用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-10-10TensorFlow深度學習之實現(xiàn)合并與分割的示例代碼
這篇文章主要為大家詳細介紹了TensorFlow中實現(xiàn)合并與分割的四位函數(shù)以及它們的用法,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2023-07-07詳解用 python-docx 創(chuàng)建浮動圖片
這篇文章主要介紹了詳解用 python-docx 創(chuàng)建浮動圖片,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01Python循環(huán)語句之break與continue的用法
這篇文章主要介紹了Python循環(huán)語句之break與continue的用法,是Python入門學習中的基礎知識,需要的朋友可以參考下2015-10-10TensorFlow打印tensor值的實現(xiàn)方法
今天小編就為大家分享一篇TensorFlow打印tensor值的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07python調(diào)用百度API實現(xiàn)人臉識別
這篇文章主要介紹了python調(diào)用百度API實現(xiàn)人臉識別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11