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

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

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

簡介

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

項(xiàng)目流程

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

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

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

代碼流程

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

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

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

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

ry中的代碼執(zhí)行沒有出現(xiàn)錯誤,就不再執(zhí)行except中的代碼,如果try中的代碼出現(xiàn)錯誤,就執(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() # 清除換行符
      # 無參數(shù)時移除兩側(cè)空格,換行符
      # 有參數(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):
  """
  注冊用戶
  1、打開文件
  2、用戶名$密碼
  :param username:用戶名
  :param password:密碼
  :return:True:注冊成功;
  """
  with open("users", "a", encoding="utf-8") as f:
    temp = "\n" + username + "$" + password
    f.write(temp)
    return True


def user_exist(username):
  """
  檢測用戶名是否存在
  :param username:要檢測的用戶名
  :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:注冊")

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


main()

這次的項(xiàng)目僅僅使用了之前學(xué)習(xí)的部分知識,比較簡單的一個項(xiàng)目,之后會繼續(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ì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Python的OptionParser模塊示例教程

    Python的OptionParser模塊示例教程

    這篇文章主要介紹了Python的OptionParser模塊教程,本文通過示例代碼給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    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)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下
    2022-09-09
  • 淺談pandas中對nan空值的判斷和陷阱

    淺談pandas中對nan空值的判斷和陷阱

    這篇文章主要介紹了淺談pandas中對nan空值的判斷和陷阱,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    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)繞過各類反調(diào)試保護(hù)機(jī)制。本文將運(yùn)用LyScript實(shí)現(xiàn)繞過大多數(shù)通用調(diào)試機(jī)制,實(shí)現(xiàn)隱藏調(diào)試器的目的,需要的可以參考一下
    2022-09-09
  • Pyecharts之特殊圖表的實(shí)現(xiàn)示例

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

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

    如何在vscode中安裝python庫的方法步驟

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

    手寫一個python迭代器過程詳解

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

    利用python來跟蹤ip地址的方法

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

最新評論

招远市| 滦南县| 雅江县| 和平区| 巴东县| 综艺| 绿春县| 衢州市| 庆元县| 金寨县| 通城县| 泾川县| 珲春市| 改则县| 蓝田县| 教育| 隆德县| 阜平县| 田林县| 石嘴山市| 香格里拉县| 玛纳斯县| 开鲁县| 盐山县| 琼结县| 都兰县| 侯马市| 巴青县| 汉寿县| 郑州市| 修水县| 阜平县| 桂东县| 九江县| 大埔区| 汉寿县| 松桃| 沙河市| 遂川县| 刚察县| 泰来县|