python實(shí)現(xiàn)登錄與注冊(cè)系統(tǒng)
本文實(shí)例為大家分享了python實(shí)現(xiàn)登錄與注冊(cè)系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
實(shí)現(xiàn)功能
1.調(diào)用文本文件里的用戶信息
2.可以將注冊(cè)信息存儲(chǔ)在文本文件里
3.實(shí)現(xiàn)了密碼格式的限制
具體用戶信息將如下格式存儲(chǔ)在txt文本文件下
轉(zhuǎn)換后便于代碼利用的格式(列表中嵌套字典)
具體代碼如下:
#-*- coding=utf8 -*- # @author:sololi # date: 2020/11/3 # 文件說(shuō)明 : import sys def register(username,password):#登錄功能,且與存儲(chǔ)用戶表的文本文件進(jìn)行比較 #驗(yàn)證用戶名 shuju=readfile() jg1 = 0 i = 0 while (i < len(shuju)): if (username == shuju[i]["用戶名"]): print("用戶名正確") jg1 = 1 break i += 1 # 用戶名錯(cuò)誤將不再驗(yàn)證密碼 if (jg1 != 1): print("用戶名錯(cuò)誤") # 驗(yàn)證密碼 if (jg1 == 1): jg2 = 0 i = 0 while (i < len(shuju)): if (password == shuju[i]["密碼"]): print("密碼正確") jg2 = 1 break i += 1 if (jg2 != 1): print("密碼錯(cuò)誤") def logon(username):#注冊(cè)功能,且以正確格式存入文本文件 shuju=readfile() jg3 = 0 i = 0 while (i < len(shuju)): if (username == shuju[i]["用戶名"]): print("用戶名已經(jīng)存在") jg3 = 1 break i += 1 if(jg3 == 0): while True: password = input("請(qǐng)輸入注冊(cè)的密碼(密碼不能小于6位,且不能為純數(shù)字)") if (str.isdigit(password)==1) or (len(password)<6): print("密碼格式錯(cuò)誤") else: break passwordagain=input("請(qǐng)?jiān)俅未_認(rèn)密碼") while True: if(password==passwordagain): break else: print("兩次密碼不一致") passwordagain = input("請(qǐng)?jiān)俅未_認(rèn)密碼") # 將注冊(cè)的用戶信息存儲(chǔ)到文本文件中 f = open("data", mode='a+', encoding="utf8") if shuju == []: f.write("用戶名:{},密碼:{}".format(username, password)) if shuju != []: f.write("\n用戶名:{},密碼:{}".format(username, password)) print("注冊(cè)成功") f.close() def readfile():#將數(shù)據(jù)轉(zhuǎn)換成列表字典形式,放在data.txt中便于后面登錄與注冊(cè)存放數(shù)據(jù) f = open('data', "r+", encoding="utf8") shuju = [] b = [] aa = {} for line in f.readlines(): line = line.strip('\n') a = line.split(' ') i = 0 while i < len(a): b = a[i].split(',') i += 1 j = 0 while j < len(b): if b == " ": break c = b[j].split(':', 1) aa[c[0]] = c[1] i += 1 j += 1 shuju.append(aa.copy()) # copy是為了防止添加是數(shù)據(jù)類型不同出錯(cuò) f.close() return shuju while True: choice=input("登錄輸入1,注冊(cè)輸入2,其他任意鍵退出") if choice=="1": id=input("輸入您的賬號(hào)") pw=input("輸入您的密碼") register(id,pw) break if choice=="2": id=input("輸入你注冊(cè)的賬號(hào)") logon(id) continue else: print("退出成功") sys.exit(0)
初學(xué)者作品,有錯(cuò)請(qǐng)指教
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 用Python實(shí)現(xiàn)web端用戶登錄和注冊(cè)功能的教程
- Python實(shí)現(xiàn)注冊(cè)登錄系統(tǒng)
- Python登錄注冊(cè)驗(yàn)證功能實(shí)現(xiàn)
- Python實(shí)現(xiàn)注冊(cè)、登錄小程序功能
- Python制作簡(jiǎn)易注冊(cè)登錄系統(tǒng)
- Python +Selenium解決圖片驗(yàn)證碼登錄或注冊(cè)問(wèn)題(推薦)
- Python3 Tkinkter + SQLite實(shí)現(xiàn)登錄和注冊(cè)界面
- python應(yīng)用文件讀取與登錄注冊(cè)功能
- Python?+?Tkinter連接本地MySQL數(shù)據(jù)庫(kù)簡(jiǎn)單實(shí)現(xiàn)注冊(cè)登錄
- Python實(shí)現(xiàn)用戶登錄注冊(cè)
相關(guān)文章
詳解PyTorch預(yù)定義數(shù)據(jù)集類datasets.ImageFolder使用方法
這篇文章主要為大家介紹了PyTorch預(yù)定義數(shù)據(jù)集類datasets.ImageFolder使用方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04Python使用PEfile模塊實(shí)現(xiàn)分析PE文件
PeFile模塊是Python中一個(gè)強(qiáng)大的便攜式第三方PE格式分析工具,用于解析和處理Windows可執(zhí)行文件,本文主要就來(lái)講講如何使用PEfile模塊實(shí)現(xiàn)分析PE文件,需要的可以參考下2023-08-08Python運(yùn)行第一個(gè)PySide2的窗體程序
本文主要介紹了Python運(yùn)行第一個(gè)PySide2的窗體程序,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07Python xlrd模塊導(dǎo)入過(guò)程及常用操作
這篇文章主要介紹了Python xlrd模塊導(dǎo)入過(guò)程及常用操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06Python操作dict時(shí)避免出現(xiàn)KeyError的幾種解決方法
這篇文章主要介紹了Python操作dict時(shí)避免出現(xiàn)KeyError的幾種解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09在Python中通過(guò)threading模塊定義和調(diào)用線程的方法
由于著名的GIL的存在,Python中雖然能創(chuàng)建多條線程,但卻不能同時(shí)執(zhí)行...anyway,這里我們還是來(lái)學(xué)習(xí)一下在Python中通過(guò)threading模塊定義和調(diào)用線程的方法2016-07-07python 實(shí)現(xiàn)關(guān)聯(lián)規(guī)則算法Apriori的示例
這篇文章主要介紹了python 實(shí)現(xiàn)關(guān)聯(lián)規(guī)則算法Apriori的示例,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-09-09