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-07
python定間隔取點(diǎn)(np.linspace)的實(shí)現(xiàn)
今天小編就為大家分享一篇python定間隔取點(diǎn)(np.linspace)的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
Python 實(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

