Python文件操作模擬用戶登陸代碼實(shí)例
題目要求
1、輸入用戶名和密碼后回車
2、密碼輸入錯(cuò)誤,給出提示,并選擇是否重新輸入
3、密碼輸入錯(cuò)誤三次后,用戶被鎖定,無(wú)法繼續(xù)登陸
構(gòu)思
1、用戶輸入賬號(hào)和密碼后,需要判斷賬號(hào)是否存在
2、判斷賬號(hào)是否被禁用(錯(cuò)誤次數(shù)大于三次)
3、判斷賬號(hào)密碼是否正確
4、不同的錯(cuò)誤給出不同的提示
5、每輸入錯(cuò)一次,文檔中的錯(cuò)誤次數(shù)需要更新
6、如果三次以內(nèi)用戶登陸成功,密碼原來(lái)的錯(cuò)誤次數(shù)被重置
題目完成步驟
1、文檔的編寫
考慮到數(shù)據(jù)的存儲(chǔ)問題,決定將賬號(hào)、密碼、錯(cuò)誤次數(shù)進(jìn)行分行存儲(chǔ),三行為一組用戶信息
2、代碼編寫
go = Truewhile go: # 用來(lái)判斷賬號(hào)是否存在 no_existence_flag = True # 用來(lái)判斷是否輸入正確 no_flag = True # 用來(lái)判斷是否已經(jīng)被封 disable_flag = True # 用來(lái)判斷次數(shù)是否已經(jīng)超過限制 account = input('account:') password = input('password:') # 判斷賬號(hào)是否存在(自己寫入已存在用戶的賬號(hào)密碼) 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() # 判斷是否存在賬號(hào) 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()) # 判斷賬號(hào)是否被禁用 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_lineelse: 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() # 賬號(hào)不存在的報(bào)錯(cuò) 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 # 賬號(hào)被禁用的報(bào)錯(cuò) 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 # 賬號(hào)密碼錯(cuò)誤的報(bào)錯(cuò) 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()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 得到XML文檔大小的方法2. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁(yè)的方法3. 輕松學(xué)習(xí)XML教程4. ASP中if語(yǔ)句、select 、while循環(huán)的使用方法5. WMLScript的語(yǔ)法基礎(chǔ)6. ASP中解決“對(duì)象關(guān)閉時(shí),不允許操作。”的詭異問題……7. xml中的空格之完全解說(shuō)8. html小技巧之td,div標(biāo)簽里內(nèi)容不換行9. XML入門的常見問題(四)10. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法
