1. 程式人生 > >Python自動化3.0-------學習之路-------第一個程序用戶登錄!

Python自動化3.0-------學習之路-------第一個程序用戶登錄!

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(‘‘‘
1:登錄系統 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("無效選項,程序已退出")
View Code

Python自動化3.0-------學習之路-------第一個程序用戶登錄!