最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python登錄注冊(cè)驗(yàn)證功能實(shí)現(xiàn)

 更新時(shí)間:2018年06月18日 16:39:51   作者:Alexsel  
本篇文章給大家整理了用python實(shí)現(xiàn)登陸注冊(cè)驗(yàn)證的基本會(huì)員功能,對(duì)此有需要的朋友可以參考下。

簡(jiǎn)介

本次項(xiàng)目登錄注冊(cè)驗(yàn)證是對(duì)之前學(xué)習(xí)知識(shí)點(diǎn)的加深學(xué)習(xí),這次項(xiàng)目的練習(xí)的知識(shí)點(diǎn)有函數(shù)、判斷語(yǔ)句、循環(huán)語(yǔ)句、文件操作等。

項(xiàng)目流程

運(yùn)行代碼之后,輸出登錄或者注冊(cè)選項(xiàng)。

當(dāng)選擇登錄之后,輸入用戶名密碼,如果該用戶信息沒(méi)有注冊(cè)過(guò),就輸出登錄失敗,如果該用戶信息已經(jīng)注冊(cè)過(guò),就顯示登錄成功。

當(dāng)選擇注冊(cè)之后,輸入用戶名密碼,如果該用戶信息沒(méi)有注冊(cè)過(guò),就輸出注冊(cè)成功,如果該用戶信息已經(jīng)注冊(cè)過(guò),就顯示用戶名已經(jīng)存在,注冊(cè)失敗。

代碼流程

運(yùn)行代之后首先執(zhí)行main()函數(shù),mian()函數(shù)中接收用戶輸入的用戶名和密碼,用戶選擇登錄,就調(diào)用loing()函數(shù),將用戶輸入的信息在和存放用戶信息的文件中的信息進(jìn)行比對(duì),如果有該用戶的信息就登錄成功,否則失敗,用戶選擇注冊(cè),在接收到用戶輸入的用戶名密碼之后,調(diào)用register()函數(shù),在這里將調(diào)用 user_exist()函數(shù)進(jìn)行對(duì)用戶輸入的信息進(jìn)行判斷,如用戶輸入的信息存在存放用戶信息的文件里,輸出注冊(cè)失敗,否則注冊(cè)成功。

在login()和user_exist()函數(shù)中調(diào)用了錯(cuò)誤處理函數(shù)。

錯(cuò)誤處理函數(shù)介紹

try:
.....
except IOError:
......

ry中的代碼執(zhí)行沒(méi)有出現(xiàn)錯(cuò)誤,就不再執(zhí)行except中的代碼,如果try中的代碼出現(xiàn)錯(cuò)誤,就執(zhí)行except中的代碼。

代碼實(shí)現(xiàn)

def login(username, password):
  """
  用于用戶名和密碼的驗(yàn)證
  :param username:用戶名
  :param paaword:密碼
  :return:True,用戶驗(yàn)證成功;False,用戶驗(yàn)證失敗
  """
  try:
    f = open("users", "r", encoding="utf-8")
    for line in f:
      line = line.strip() # 清除換行符
      # 無(wú)參數(shù)時(shí)移除兩側(cè)空格,換行符
      # 有參數(shù)時(shí)移除兩側(cè)指定的字符
      line_list = line.split("$")
      if line_list[0] == username and line_list[1] == password:
        # print("成功")
        return True
    return False
  except IOError:
    return False


def register(username, password):
  """
  注冊(cè)用戶
  1、打開文件
  2、用戶名$密碼
  :param username:用戶名
  :param password:密碼
  :return:True:注冊(cè)成功;
  """
  with open("users", "a", encoding="utf-8") as f:
    temp = "\n" + username + "$" + password
    f.write(temp)
    return True


def user_exist(username):
  """
  檢測(cè)用戶名是否存在
  :param username:要檢測(cè)的用戶名
  :return: True:用戶名存在;False:用戶名不存在
  """
  # 一行一行的去查找,如果用戶名存在,return True:False
  try:
    with open("users", "r", encoding="utf-8") as f:
      for line in f:
        line = line.strip()
        line_new = line.split("$")
        if line_new[0] == username:
          return True
      return False
  except IOError:
    return False


def main():
  while True:
    print("歡迎登錄xxx系統(tǒng)")
    arg = input("1:登錄,2:注冊(cè)")

    if arg == "1":
      uer = input("請(qǐng)輸入用戶名:")
      pwd = input("請(qǐng)輸入密碼:")
      if login(uer, pwd):
        print("成功")
        break
      else:
        print("失敗")
    elif arg == "2":
      user = input("請(qǐng)輸入用戶名:")
      pwd = input("請(qǐng)輸入密碼:")
      is_exist = user_exist(user)
      if is_exist:
        print("用戶名已經(jīng)存在,注冊(cè)失敗")
      else:
        if register(user, pwd):
          print("注冊(cè)成功")
          continue
        else:
          print("注冊(cè)失敗")
    else:
      print("輸入錯(cuò)誤,請(qǐng)重新輸入")


main()

這次的項(xiàng)目?jī)H僅使用了之前學(xué)習(xí)的部分知識(shí),比較簡(jiǎn)單的一個(gè)項(xiàng)目,之后會(huì)繼續(xù)加深學(xué)習(xí)。

相關(guān)文章

  • Python調(diào)用高德API實(shí)現(xiàn)批量地址轉(zhuǎn)經(jīng)緯度并寫入表格的功能

    Python調(diào)用高德API實(shí)現(xiàn)批量地址轉(zhuǎn)經(jīng)緯度并寫入表格的功能

    這篇文章主要介紹了Python調(diào)用高德API實(shí)現(xiàn)批量地址轉(zhuǎn)經(jīng)緯度并寫入表格的功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • Python的OptionParser模塊示例教程

    Python的OptionParser模塊示例教程

    這篇文章主要介紹了Python的OptionParser模塊教程,本文通過(guò)示例代碼給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • python實(shí)現(xiàn)用戶登陸郵件通知的方法

    python實(shí)現(xiàn)用戶登陸郵件通知的方法

    這篇文章主要介紹了python實(shí)現(xiàn)用戶登陸郵件通知的方法,實(shí)例分析了Python計(jì)劃任務(wù)與郵件發(fā)送的使用技巧,需要的朋友可以參考下
    2015-07-07
  • OpenCV?讀取圖像imread的使用詳解

    OpenCV?讀取圖像imread的使用詳解

    這篇文章主要介紹了OpenCV?讀取圖像imread的使用詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-09-09
  • 淺談pandas中對(duì)nan空值的判斷和陷阱

    淺談pandas中對(duì)nan空值的判斷和陷阱

    這篇文章主要介紹了淺談pandas中對(duì)nan空值的判斷和陷阱,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • LyScript實(shí)現(xiàn)Hook隱藏調(diào)試器的方法詳解

    LyScript實(shí)現(xiàn)Hook隱藏調(diào)試器的方法詳解

    LyScript?插件集成的內(nèi)置API函數(shù)可靈活的實(shí)現(xiàn)繞過(guò)各類反調(diào)試保護(hù)機(jī)制。本文將運(yùn)用LyScript實(shí)現(xiàn)繞過(guò)大多數(shù)通用調(diào)試機(jī)制,實(shí)現(xiàn)隱藏調(diào)試器的目的,需要的可以參考一下
    2022-09-09
  • Pyecharts之特殊圖表的實(shí)現(xiàn)示例

    Pyecharts之特殊圖表的實(shí)現(xiàn)示例

    本文主要介紹了Pyecharts之特殊圖表的實(shí)現(xiàn)示例,包括象形圖、水球圖和日歷圖的定制方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-01-01
  • 如何在vscode中安裝python庫(kù)的方法步驟

    如何在vscode中安裝python庫(kù)的方法步驟

    這篇文章主要介紹了如何在vscode中安裝python庫(kù)的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 手寫一個(gè)python迭代器過(guò)程詳解

    手寫一個(gè)python迭代器過(guò)程詳解

    這篇文章主要介紹了手寫一個(gè)python迭代器過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 利用python來(lái)跟蹤ip地址的方法

    利用python來(lái)跟蹤ip地址的方法

    今天來(lái)介紹一個(gè)流行的 python庫(kù) ip2geotools,使用它可以確定 IP地址 對(duì)應(yīng)的 國(guó)家、地區(qū)、城市、緯度和經(jīng)度等,文中通過(guò)代碼示例介紹了如何使用python來(lái)跟蹤ip地址,需要的朋友可以參考下
    2023-06-06

最新評(píng)論

丰城市| 根河市| 张家界市| 蕲春县| 龙岩市| 平南县| 凤阳县| 监利县| 定兴县| 横峰县| 乌兰县| 横山县| 博罗县| 东明县| 古丈县| 江安县| 安徽省| 太谷县| 巴东县| 天峨县| 山阴县| 辰溪县| 宝山区| 大港区| 忻州市| 兴和县| 湾仔区| 中江县| 临清市| 老河口市| 望谟县| 蒙山县| 卢氏县| 乡宁县| 丹江口市| 鄢陵县| 临西县| 多伦县| 阿拉善左旗| 合山市| 盈江县|