Python自動化3.0-------學習之路-------第一個程序用戶登錄!
阿新 • • 發佈:2017-07-20
hide lap 標記 之路 判斷 () exit isp 互信
一、用戶登錄程序
知識點:1.input()
2.while 循環
3.fot 循環
4.文件操作
5.函數調用
二、程序代碼:
#以只讀文件打開下面兩個文件 lock_file=open(‘file_lock.txt‘,‘r+‘) #已鎖定的賬戶文件 user_pass=open(‘username_file.txt‘,‘r+‘) #正確的賬戶文件 count=0 #輸出交互信息 be_info = input(‘‘‘View Code1:登錄系統 2:退出系統 請輸入您的操作:‘‘‘) #如果玩家輸入的是數字並且等於2,那麽就退出程序 if be_info.isdigit() and int(be_info)==2: exit() #如果玩家輸入的是數字並且選擇的是1,那麽就登錄系統 elif be_info.isdigit() and int(be_info)==1: while count <3:#重試不能超過三次,否則就退出循環 # print(lock_file.readlines()) 用於調試,readlines()輸出後的結果為:[‘g1\n‘, ‘gqq\n‘, ‘g2\n‘]username=input(‘請輸入您的用戶名:‘) for i in lock_file.readlines(): #判斷用戶名是否在鎖定的賬戶文件中 i = i.split("\n") #用於分割字符串 # print(i) # print (i[0]) #用於調試,i[0]表示賬戶鎖定文件中的所有鎖定賬號 if username in i[0]: #判斷輸入的賬戶名是否在鎖定的賬號文件中 print(‘對不起 %s 已鎖定‘%username) exit() match = False #用於跳出循環的標記 for j in user_pass.readlines(): user, password = j.split() #讀取可登陸賬戶文件中的賬戶和密碼 if username == user: # 判斷輸入的用戶是否存在,如果賬號存在於賬號文件中則輸入密碼 passwd = input(‘請輸入密碼:‘) if password == passwd:#如果密碼正確,則提示輸入成功,並且退出本層循環 print(‘用戶名和密碼正確‘) match = True break elif password != passwd: # 在用戶名正確的前提下,如果密碼輸入不正確的情況 for i in range(2): #再給2次輸入密碼的機會 passwd = input(‘密碼錯誤,請重新輸入密碼:‘) if password == passwd: print(‘用戶名和密碼正確‘)#如果2次機會中有輸入正確的密碼,則提示正確 match = True break #退出程序 if username != user: # 判斷用戶不存在 print(‘您輸入用戶名不存在,程序已退出‘) exit() elif match == False: # 如果match還為False,代表上面的循環中沒有走到match=True這一步,則提示超過三次輸入,用戶鎖定 print(‘密碼和用戶名不匹配,嘗試超過三次,用戶被鎖定‘) lock_file.write(‘%s \n‘ % username) #將鎖定的賬戶寫入到賬戶鎖定文件中 lock_file.close() user_pass.close() exit() elif match == True: print("登錄成功") exit() else: print("無效選項,程序已退出")
Python自動化3.0-------學習之路-------第一個程序用戶登錄!