欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

簡介

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

項目流程

運行代碼之后,輸出登錄或者注冊選項。

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

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

代碼流程

運行代之后首先執(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中的代碼。

代碼實現(xiàn)

def login(username, password):
  """
  用于用戶名和密碼的驗證
  :param username:用戶名
  :param paaword:密碼
  :return:True,用戶驗證成功;False,用戶驗證失敗
  """
  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()

這次的項目僅僅使用了之前學(xué)習(xí)的部分知識,比較簡單的一個項目,之后會繼續(xù)加深學(xué)習(xí)。

相關(guān)文章

  • 利用Python在一個文件的頭部插入數(shù)據(jù)的實例

    利用Python在一個文件的頭部插入數(shù)據(jù)的實例

    下面小編就為大家分享一篇利用Python在一個文件的頭部插入數(shù)據(jù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 使用pytorch完成kaggle貓狗圖像識別方式

    使用pytorch完成kaggle貓狗圖像識別方式

    今天小編就為大家分享一篇使用pytorch完成kaggle貓狗圖像識別方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python3接口性能測試實例代碼

    Python3接口性能測試實例代碼

    在本篇文章里小編給大家整理的是一篇關(guān)于Python3實現(xiàn)簡單的接口性能測試的相關(guān)實例內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)下。
    2021-06-06
  • python3 對list中每個元素進(jìn)行處理的方法

    python3 對list中每個元素進(jìn)行處理的方法

    今天小編就為大家分享一篇python3 對list中每個元素進(jìn)行處理的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python實現(xiàn)飛機大戰(zhàn)

    python實現(xiàn)飛機大戰(zhàn)

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)飛機大戰(zhàn)游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • 詳解Python開啟線程和線程池的方法

    詳解Python開啟線程和線程池的方法

    這篇文章主要介紹了Python開啟線程和線程池的方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-03-03
  • python分析實現(xiàn)微信釘釘?shù)溶浖嚅_分身

    python分析實現(xiàn)微信釘釘?shù)溶浖嚅_分身

    我發(fā)現(xiàn)壇友分享的很多都是通過cmd?去start?多個微信,雖然能實現(xiàn)多開,但不夠靈活,比如我上午登錄了一個微信,下午在登錄就不太好用了,當(dāng)然也可能是我start的姿勢不對。于是我就搜了下單實例原理,自己動手實現(xiàn)了個隨用隨開的
    2022-02-02
  • 詳解Django之a(chǎn)dmin組件的使用和源碼剖析

    詳解Django之a(chǎn)dmin組件的使用和源碼剖析

    本篇文章主要介紹了詳解Django之a(chǎn)dmin的使用和源碼剖析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • 批量將ppt轉(zhuǎn)換為pdf的Python代碼 只要27行!

    批量將ppt轉(zhuǎn)換為pdf的Python代碼 只要27行!

    這篇文章主要為大家詳細(xì)介紹了批量將ppt轉(zhuǎn)換為pdf的Python代碼,只要27行,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Flask之pipenv虛擬環(huán)境的實現(xiàn)

    Flask之pipenv虛擬環(huán)境的實現(xiàn)

    這篇文章主要介紹了Flask之pipenv虛擬環(huán)境的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評論