亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

利用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

绥滨县| 荣成市| 富川| 化州市| 上林县| 明溪县| 孝义市| 云浮市| 棋牌| 富顺县| 湟中县| 长岭县| 江油市| 彰化市| 怀柔区| 绥化市| 红原县| 库尔勒市| 乌拉特后旗| 邵东县| 灌阳县| 湖南省| 保康县| 十堰市| 长泰县| 开化县| 平湖市| 珲春市| 博客| 英山县| 北宁市| 日土县| 绥宁县| 彰化市| 安图县| 日喀则市| 阳朔县| 营口市| 江川县| 新闻| 安庆市|