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
# 文件說明 :
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)指教
以上就是本文的全部內(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制作簡易注冊(cè)登錄系統(tǒng)
- Python +Selenium解決圖片驗(yàn)證碼登錄或注冊(cè)問題(推薦)
- Python3 Tkinkter + SQLite實(shí)現(xiàn)登錄和注冊(cè)界面
- python應(yīng)用文件讀取與登錄注冊(cè)功能
- Python?+?Tkinter連接本地MySQL數(shù)據(jù)庫簡單實(shí)現(xiàn)注冊(cè)登錄
- Python實(shí)現(xiàn)用戶登錄注冊(cè)
相關(guān)文章
Python強(qiáng)大郵件處理庫Imbox安裝及用法示例
這篇文章主要給大家介紹了關(guān)于Python強(qiáng)大郵件處理庫Imbox安裝及用法的相關(guān)資料,Imbox是一個(gè)Python 庫,用于從IMAP郵箱中讀取郵件,它提供了簡單易用的接口,幫助開發(fā)者處理郵件,需要的朋友可以參考下2024-03-03
python操作微信自動(dòng)發(fā)消息的實(shí)現(xiàn)(微信聊天機(jī)器人)
這篇文章主要介紹了python操作微信自動(dòng)發(fā)消息(微信聊天機(jī)器人),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Python計(jì)算兩個(gè)矩形重合面積代碼實(shí)例
這篇文章主要介紹了Python 實(shí)現(xiàn)兩個(gè)矩形重合面積代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
Transformer導(dǎo)論之Bert預(yù)訓(xùn)練語言解析
這篇文章主要為大家介紹了Transformer導(dǎo)論之Bert預(yù)訓(xùn)練語言解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
python使用pygame框架實(shí)現(xiàn)推箱子游戲
這篇文章主要為大家詳細(xì)介紹了python使用pygame框架實(shí)現(xiàn)推箱子游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11
Flask框架debug與配置項(xiàng)的開啟與設(shè)置詳解
這篇文章主要介紹了Flask框架debug與配置項(xiàng)的開啟與設(shè)置,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-09-09
Python 實(shí)現(xiàn)Excel XLS和XLSX格式相互轉(zhuǎn)換問題
本文介紹如何使用Python庫Spire.XLS for Python實(shí)現(xiàn)Excel文件的XLS和XLSX格式轉(zhuǎn)換,提供了詳細(xì)的安裝指南和轉(zhuǎn)換步驟,幫助用戶在不同版本的Excel文件格式之間靈活轉(zhuǎn)換,同時(shí)支持將Excel文件轉(zhuǎn)換為PDF、圖片、HTML等格式2024-10-10

