1. 程式人生 > 程式設計 >python實現登入與註冊系統

python實現登入與註冊系統

本文例項為大家分享了python實現登入與註冊系統的具體程式碼,供大家參考,具體內容如下

實現功能

1.呼叫文字檔案裡的使用者資訊
2.可以將註冊資訊儲存在文字檔案裡
3.實現了密碼格式的限制

具體使用者資訊將如下格式儲存在txt文字檔案下

python實現登入與註冊系統

轉換後便於程式碼利用的格式(列表中巢狀字典)

python實現登入與註冊系統

具體程式碼如下:

#-*- coding=utf8 -*- 
# @author:sololi
# date: 2020/11/3
# 檔案說明 :
import sys
def register(username,password):#登入功能,且與儲存使用者表的文字檔案進行比較
  #驗證使用者名稱
  shuju=readfile()
  jg1 = 0
  i = 0
  while (i < len(shuju)):
   if (username == shuju[i]["使用者名稱"]):
    print("使用者名稱正確")
    jg1 = 1
    break
   i += 1
  # 使用者名稱錯誤將不再驗證密碼
  if (jg1 != 1):
   print("使用者名稱錯誤")
  # 驗證密碼
  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("密碼錯誤")

def logon(username):#註冊功能,且以正確格式存入文字檔案
   shuju=readfile()
   jg3 = 0
   i = 0
   while (i < len(shuju)):
    if (username == shuju[i]["使用者名稱"]):
     print("使用者名稱已經存在")
     jg3 = 1
     break
    i += 1
   if(jg3 == 0):
    while True:
     password = input("請輸入註冊的密碼(密碼不能小於6位,且不能為純數字)")
     if (str.isdigit(password)==1) or (len(password)<6):
       print("密碼格式錯誤")
     else:
      break
    passwordagain=input("請再次確認密碼")
    while True:
     if(password==passwordagain):
      break
     else:
      print("兩次密碼不一致")
      passwordagain = input("請再次確認密碼")
    # 將註冊的使用者資訊儲存到文字檔案中
    f = open("data",mode='a+',encoding="utf8")
    if shuju == []:
     f.write("使用者名稱:{},密碼:{}".format(username,password))
    if shuju != []:
     f.write("\n使用者名稱:{},password))
    print("註冊成功")
    f.close()

def readfile():#將資料轉換成列表字典形式,放在data.txt中便於後面登入與註冊存放資料
 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是為了防止新增是資料型別不同出錯
 f.close()
 return shuju

while True:
 choice=input("登入輸入1,註冊輸入2,其他任意鍵退出")
 if choice=="1":
  id=input("輸入您的賬號")
  pw=input("輸入您的密碼")
  register(id,pw)
  break
 if choice=="2":
  id=input("輸入你註冊的賬號")
  logon(id)
  continue
 else:
  print("退出成功")
  sys.exit(0)

初學者作品,有錯請指教

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。