老男孩作業二的自我解答
阿新 • • 發佈:2017-09-09
1-1 內容 http class mes pri for 計算 status
import os import os.path # 獲取文件內容 def get_file(): file_path = ‘C:/Users/win10/Desktop/user.txt‘ file_name = open(file_path, "r+") i = int(0) lists = [] # 保存替換過的 for line in file_name.readlines(): i = i+1 # 替換換行符 再切割成數組 lists.insert(i,line.split(‘,‘)) file_name.close() #關閉文件 return lists # 重寫內容 def write_file(write_list): file_path = ‘C:/Users/win10/Desktop/user.txt‘ file_write = open(file_path,"w") file_write.write(write_list) file_write.close() # 關閉文件 return lnet = 0 #下一個數 times = 0 sum = len(get_file()) while lnet < sum: k = 0 # 用於計算第幾個循環 lists = get_file() content = ‘‘ username = input(‘username:‘) password = input(‘password:‘) status = 0 #狀態標記 for item in lists: num = int(item[2].replace(‘\n‘,‘‘)) # break if num >=3 and username == item[0]: print(‘該用戶已被鎖定‘) lnet = sum #退出while status = 1 break elif item[0] == username and item[1] == password: print(‘歡迎使用‘) lists[k][2] = lists[k][2].replace(‘1‘,‘0‘).replace(‘2‘,‘0‘).replace(‘3‘,‘0‘) for it in lists: content += ‘,‘.join(it) write_file(content) status = 1 lnet = sum # 退出while break elif item[0] == username and item[1] != password: print(‘賬號或密碼錯誤‘) lists[k][2] = lists[k][2].replace(str(num),str(num+1)) for it in lists: content += ‘,‘.join(it) write_file(content) status = 1 break # elif item[0] != username: # print(‘賬號或密碼錯誤‘) if times == 2: print(‘您已輸如超過三次錯誤!請關閉後重新打開‘) elif status == 0: print(‘賬號或密碼錯誤‘) times = times + 1 lnet += 1
文本格式: 賬號 密碼 次數 admin,admin,0 adminasdad,adadsad,0 adasda,adasdad,1 註:次數是從零開始計算的 用戶名不能重復
老男孩作業二的自我解答