python編輯用戶登入界面的實(shí)現(xiàn)代碼
1.需求分析
登入界面需要達(dá)到以下要求:
- 系統(tǒng)要有登入和注冊(cè)兩個(gè)選項(xiàng)可供選擇
- 系統(tǒng)要能夠?qū)崿F(xiàn)登入出錯(cuò)提示,比如賬戶密碼錯(cuò)誤等,用戶信息保存在user_info.txt文件夾中
- 系統(tǒng)要能夠進(jìn)行登入錯(cuò)誤次數(shù)統(tǒng)計(jì)并鎖定,當(dāng)用戶輸入3次錯(cuò)誤時(shí)賬戶密碼時(shí),改賬戶被鎖定,并將鎖定賬戶保存于login_lock.txt文件夾中
- 注冊(cè)界面要能夠進(jìn)行用戶名重復(fù)提示,當(dāng)用戶注冊(cè)賬戶已存在時(shí),進(jìn)行相應(yīng)信息的提示。
1.代碼實(shí)現(xiàn)
getNum = int(input("1.登入\n2.注冊(cè)\nPlease Input the Choose :")) while getNum<1 or getNum>2: getNum =int(input("無效值 :")) username = input("用戶名: ") password = input("密碼: ") if getNum == 1:#登入 ErrNums = 0 while ErrNums<3: T = False fp = open('login_lock.txt','r')#打開鎖定文件查看輸入的賬戶是否被鎖定 lines = fp.readlines()#讀取所有行 while T== False: for line in lines: if line.split(',')[0] == username: print("帳號(hào)已被鎖定 !") username = input("用戶名: ") password = input("密碼: ") break T=True fp.close() T = False fp_user = open('user_info.txt','r')#打開用戶信息文件: lines = fp_user.readlines() for line in lines: if line.split(',')[0] == username: if line.split(',')[1] == password+'\n'or line.split(',')[1] == password: print("登入成功 !") T = True break fp_user.close() if T == False:#登入失敗了 ErrNums += 1 if ErrNums >= 3: fp_user = open('login_lock.txt','a') print("賬戶已被鎖定 !") fp_user.write('\n'+username) fp_user.close() break print("賬戶名或密碼錯(cuò)誤 !") username = input("用戶名: ") password = input("密碼: ") else: break elif getNum == 2:#注冊(cè) fp= open('user_info.txt','r')#打開用戶信息文件: T = False lines = fp.readlines() # 讀取所有行 while T == False: for line in lines: if line.split(',')[0] == username: print("帳號(hào)已存在,請(qǐng)重新輸入 !") username = input("用戶名: ") password = input("密碼: ") break T = True fp.close() fp = open('user_info.txt', 'a') # 打開用戶信息文件: fp.write(username+','+password+'\n') print("注冊(cè)成功 !")
user_info.txt文件的內(nèi)容如下圖:
代碼的重要部分都有注解,txt文件的創(chuàng)建目前存放與工程目錄中,使用相對(duì)路徑方便調(diào)用,如不在該文件夾中則代碼中的路徑需要改成絕對(duì)路徑,否則程序運(yùn)行后會(huì)有問題。代碼中仍有不完善的地方,忘有經(jīng)驗(yàn)的朋友給句指出與探討。
總結(jié)
以上所述是小編給大家介紹的python編輯用戶登入界面的實(shí)現(xiàn)代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Python標(biāo)準(zhǔn)庫datetime?date模塊的詳細(xì)介紹
這篇文章主要介紹了Python標(biāo)準(zhǔn)庫datetime?date模塊的詳細(xì)介紹,datetime是Python提供的操作日期和時(shí)間的標(biāo)準(zhǔn)庫,主要有datetime.date模塊、datetime.time模塊及datetime.datetime模塊2022-07-07python定間隔取點(diǎn)(np.linspace)的實(shí)現(xiàn)
今天小編就為大家分享一篇python定間隔取點(diǎn)(np.linspace)的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11Python 實(shí)現(xiàn)大整數(shù)乘法算法的示例代碼
這篇文章主要介紹了Python 實(shí)現(xiàn)大整數(shù)乘法算法的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09在pycharm中運(yùn)行js文件以及附加node.js下載步驟
js文件需要用node來運(yùn)行,所以首先要安裝node軟件,下面這篇文章主要給大家介紹了關(guān)于在pycharm中運(yùn)行js文件以及附加node.js下載步驟的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12