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

python實(shí)現(xiàn)簡單登陸系統(tǒng)

 更新時間:2018年10月18日 08:33:30   作者:zerolouise  
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡單登陸系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下

新手,雖然比較簡單的東西,但是弄了我很久。

很多不完善的地方,比如鎖定用戶,同一用戶輸入錯三次密碼就會鎖定,但是如果在第二第三次換了用戶再輸入原來的用戶,則計(jì)數(shù)會重新計(jì)算。

另外不存在的用戶輸入密碼錯誤次數(shù)過多也會被鎖定,然后還能創(chuàng)建一個被鎖定的用戶,這個就不搞了,只要檢測一下是否存在用戶名就可以了。

暫時想到了解決辦法是在一個專用的文件里面增加一個專用的計(jì)數(shù)變量,舍棄blocklist這個文件,但是不懂怎么操作,先留著。

雖然python沒有像C一樣的main函數(shù)作為程序入口,姑且弄了一個,方便看懂

'''登陸系統(tǒng)
要求:
1、可以選擇創(chuàng)建新的用戶
2、可以登陸原有的用戶
3、輸入密碼錯誤三次后用戶則被鎖定'''
 
flag=True #循環(huán)控制符
 
def createuser():
  f=open('userlist.txt','r')#打開已存在用戶的文件,假設(shè)文件已經(jīng)存在
  flag=True
  name=f.readlines()
  f.close()
  while flag:
    username=input('username:')
    flag2=False#用戶名已存在的標(biāo)記符
    for line in name:
      if(username==line.split('*')[0]):
        flag2=True
        print("用戶名已存在,請重新輸入")
    if flag2!=True:
      f=open('userlist.txt','a')#創(chuàng)建新的用戶
      f.write('\n'+username)
      f.write('*')
      password=input('password:')
      f.write(password)
      f.close()
      break
  main()
 
 
def login():#登入函數(shù),輸入密碼錯誤三次則鎖定用戶
  count=0#密碼錯誤計(jì)數(shù),3次則鎖定
  f=open('userlist.txt','r')
  info=f.readlines()
  f.close()
  user=None#重復(fù)用戶標(biāo)記符
  while flag:
    flag2=False
    f2=open('blocklist.txt', 'r')
    block_name=f2.readlines()
    f2.close()
    username=input('username:')
    if user==None:#user沒有使用過,則直接賦予輸入的用戶名
      user=username
    elif user!=username:#如果下一次輸入的用戶名不一樣,則記錄上一次的用戶名,同時計(jì)數(shù)清零
      user=username
      count=0;
    for line in block_name:#檢查用戶名是否被鎖定,鎖定則返回主菜單
      if username==line.strip('\n'):
        print('該用戶已經(jīng)被鎖定,請聯(lián)系管理員')
        main()
    password=input('password:')
    for line in info:
      if(username==line.split('*')[0]and password==line.split('*')[1].strip('\n')):
        print('登入成功!')
        flag2=True
    if flag2==False:
      count+=1
      print("用戶名或密碼錯誤,請重新輸入")
    if count==3:#錯誤三次,把用戶名添加到鎖定列表中
      print('密碼錯誤次數(shù)過多,該用戶已被鎖定')
      f3=open('blocklist.txt','a')
      f3.write('\n'+username)
      f3.close()
      count=0#加入黑名單后重置計(jì)數(shù)
      main()#加入黑名單后退回主菜單
info='''
------請輸入相關(guān)數(shù)字-----
1.創(chuàng)建新的用戶
2.登陸已有用戶
3.退出程序
'''
 
def main():
  print(info)
  while flag:
    i=input()
    if i=='1':
      createuser()
      break
    elif i=='2':
      login()
      break
    elif i=='3':
      exit()
    else:
      print("請輸入正確的數(shù)字.")
 
main()#程序入口

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python魔術(shù)方法詳解

    Python魔術(shù)方法詳解

    這篇文章主要介紹了Python魔術(shù)方法詳解,本文講解了構(gòu)造和初始化、用于比較的魔術(shù)方法、數(shù)值處理的魔術(shù)方法、普通算數(shù)操作符等內(nèi)容,需要的朋友可以參考下
    2015-02-02
  • python3字符串輸出常見面試題總結(jié)

    python3字符串輸出常見面試題總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于python3字符串輸出常見面試題總結(jié)內(nèi)容,有需要的朋友們可以參考下。
    2020-12-12
  • Python實(shí)現(xiàn)的選擇排序算法原理與用法實(shí)例分析

    Python實(shí)現(xiàn)的選擇排序算法原理與用法實(shí)例分析

    這篇文章主要介紹了Python實(shí)現(xiàn)的選擇排序算法,簡單描述了選擇排序的原理,并結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)與應(yīng)用選擇排序的具體操作技巧,需要的朋友可以參考下
    2017-11-11
  • Python學(xué)習(xí)之shell腳本的使用詳解

    Python學(xué)習(xí)之shell腳本的使用詳解

    這篇文章主要為大家分析一個python庫–sh(系統(tǒng)調(diào)用),主要內(nèi)容包括其使用實(shí)例、應(yīng)用技巧、基本知識點(diǎn)總結(jié)和需要注意事項(xiàng),具有一定的參考價值,需要的朋友可以參考一下
    2023-04-04
  • Python+KgCaptcha實(shí)現(xiàn)驗(yàn)證碼的開發(fā)詳解

    Python+KgCaptcha實(shí)現(xiàn)驗(yàn)證碼的開發(fā)詳解

    驗(yàn)證碼通常是為了區(qū)分用戶是人還是計(jì)算機(jī),也可以防止解開密碼等惡意行為,而客戶端上多數(shù)會用在關(guān)鍵操作上?,F(xiàn)在驗(yàn)證碼的種類樣式也特別多,本文主要介紹了如何用Python和KgCaptcha做出驗(yàn)證碼功能,需要的可以參考一下
    2023-04-04
  • 簡單的通用表達(dá)式求10乘階示例

    簡單的通用表達(dá)式求10乘階示例

    這篇文章主要介紹了簡單的通用表達(dá)式求10乘階示例,需要的朋友可以參考下
    2014-03-03
  • 基于Python實(shí)現(xiàn)條形碼圖片識別程序

    基于Python實(shí)現(xiàn)條形碼圖片識別程序

    這篇文章主要為大家詳細(xì)介紹了如何基于Python實(shí)現(xiàn)一個簡單的條形碼圖片識別程序,可以視頻圖片中的條形碼,感興趣的小伙伴可以跟隨小編學(xué)習(xí)一下
    2023-09-09
  • 淺談pytorch中為什么要用 zero_grad() 將梯度清零

    淺談pytorch中為什么要用 zero_grad() 將梯度清零

    這篇文章主要介紹了pytorch中為什么要用 zero_grad() 將梯度清零的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python3 中的字符串(單引號、雙引號、三引號)以及字符串與數(shù)字的運(yùn)算

    python3 中的字符串(單引號、雙引號、三引號)以及字符串與數(shù)字的運(yùn)算

    這篇文章主要介紹了python3 中的字符串(單引號、雙引號、三引號)以及字符串與數(shù)字的運(yùn)算,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Windows平臺Python連接sqlite3數(shù)據(jù)庫的方法分析

    Windows平臺Python連接sqlite3數(shù)據(jù)庫的方法分析

    這篇文章主要介紹了Windows平臺Python連接sqlite3數(shù)據(jù)庫的方法,結(jié)合實(shí)例形式分析了Windows平臺安裝SQLite數(shù)據(jù)庫及創(chuàng)建、連接數(shù)據(jù)庫的實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-07-07

最新評論