中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用python編寫一個登錄與注冊功能

發布時間:2020-12-01 16:07:16 來源:億速云 閱讀:179 作者:Leah 欄目:開發技術

利用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用戶名:{},密碼:{}".format(username, 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)

看完上述內容,你們掌握利用python編寫一個登錄與注冊功能的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳信县| 迁西县| 广平县| 会泽县| 巨鹿县| 奉化市| 北海市| 张家川| 德化县| 高青县| 新民市| 井陉县| 漳浦县| 巩留县| 贵溪市| 聂拉木县| 始兴县| 安泽县| 兴山县| 客服| 翁牛特旗| 通城县| 普宁市| 九寨沟县| 固原市| 河西区| 玉田县| 合水县| 泽普县| 富平县| 钟山县| 罗田县| 莒南县| 铜山县| 阿拉善盟| 正镶白旗| 得荣县| 淄博市| 金昌市| 中西区| 抚松县|