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

python初學(xué)之用戶登錄的實(shí)現(xiàn)過程(實(shí)例講解)

 更新時(shí)間:2017年12月23日 20:48:44   作者:JayeHe  
下面小編就為大家分享一篇python初學(xué)之用戶登錄的實(shí)現(xiàn)過程(實(shí)例講解),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

要求編寫登錄接口:

1. 輸入用戶名和密碼

2.認(rèn)證成功后顯示歡迎信息

3.用戶名輸錯(cuò),提示用戶不存在,重新輸入(5次錯(cuò)誤,提示嘗試次數(shù)過多,退出程序)

4.用戶名正確,密碼錯(cuò)誤,提示密碼錯(cuò)誤,重新輸入.(密碼錯(cuò)誤3次,鎖定用戶名并提示,退出程序)

readme

應(yīng)用知識(shí)點(diǎn):

一、文件的操作

基本操作

f = open('lyrics','r',) #打開文件
first_line = f.readline()
print('first line:',first_line) #讀一行
data = f.read()# 讀取剩下的所有內(nèi)容,文件大時(shí)不要用
print(data) #打印文件
f.close() #關(guān)閉文件

打開文件的模式有:

r,只讀模式(默認(rèn))。

w,只寫模式?!静豢勺x;不存在則創(chuàng)建;存在則刪除內(nèi)容;】

a,追加模式。【可讀;不存在則創(chuàng)建;存在則只追加內(nèi)容;】

with語句,同時(shí)打開多個(gè)文件,還可以避免打開文件后忘記關(guān)閉,語法:

with open('file1', 'r', encoding='utf-8') as f , \
open('file2', 'w', encoding='utf-8') as f_2 :
...

本例中有2個(gè)文件,一個(gè)存用戶名和密碼,另一個(gè)存黑名單.在讀取文件后怎樣轉(zhuǎn)變成python對(duì)象,然后對(duì)對(duì)象進(jìn)行操作,是我遇到的第一個(gè)難點(diǎn)!

然后查了下資料,發(fā)現(xiàn)字符串split方法,可以把字符串,從逗號(hào)分隔符的地方斷開,得到一個(gè)子字符串列表.這樣一來,就可以對(duì)黑名單進(jìn)行查找等操作了.

...
user_lis_bak = f.readline().split(',')
...

Python 字典 setdefault() 函數(shù)和get()方法類似, 如果鍵不已經(jīng)存在于字典中,將會(huì)添加鍵并將值設(shè)為默認(rèn)值。

dict.setdefault(key, default=None) 

二、列表和字典

列表是我們最以后最常用的數(shù)據(jù)類型之一,通過列表可以對(duì)數(shù)據(jù)實(shí)現(xiàn)最方便的存儲(chǔ)、修改等操作

names = ['xiaoli',"xiaoming",'yuanlu'] 

通過下標(biāo)訪問列表中的元素,下標(biāo)從0開始計(jì)數(shù)

>>> names[0]
'xiaoli'
>>> names[1]
'xiaoming'
>>> names[-1]
'yuanlu'
>>> names[-2] #還可以倒著取
'xiaoming'

字典是一種key - value 的數(shù)據(jù)類型,使用就像我們上學(xué)用的字典,通過筆劃、字母來查對(duì)應(yīng)頁的詳細(xì)內(nèi)容。

 info = {
   'xiaoli': "123456",
   'xiaoming': "111111",
   'yuanlu': "888888",
 }

這里key是用戶名,value是密碼,一一對(duì)應(yīng),key是唯一的.

三、for loop 和 if...else

for i in range(10): print(i) 

還是上面的程序,但是遇到大于5的循環(huán)次數(shù)就不走了,直接退出

 for i in range(10):
   if i>5:
     continue #不往下走了,直接進(jìn)入下一次loop
   print(i)

用戶名和密碼文件格式:

xiaoli 123456

xiaoming 888888

wangpeng 111111

luyuan 112222

qiling 556666

haiming 223333

黑名單文件格式:

xiaoli,xiaoming,wangpeng,

代碼

with open('user_lis', 'r', encoding='utf-8') as f_user_lis,\
     open('user_lis_bak', 'r', encoding='utf-8') as f_user_lis_bak: # 打開文件'user_lis'和'user_lis_bak'
  user_lis_bak = f_user_lis_bak.read().split(',')   # 讀取f_user_lis_bak并轉(zhuǎn)成列表賦值給 user_lis_bak
  user_lis_dict = {}                 # 定義一個(gè)空字典
  for i in f_user_lis:
    user_lis_dict.setdefault(i.split()[0], i.split()[1])  # 讀取f_user_lis并把值放入字典user_lis_dict中
count = 0
for i in range(5):                 # 設(shè)置錯(cuò)誤次數(shù)上限為5次
  name = input('請(qǐng)輸入用戶名>>')
  password = input('請(qǐng)輸入密碼>>')
  if name in user_lis_bak:            # 第一步先查找黑名單
    print('用戶名已被鎖定,請(qǐng)聯(lián)系管理員!!!')
    continue                  # 在黑名單中直接進(jìn)入下一次循環(huán),重新輸入用戶名和密碼
  elif name in user_lis_dict:           # 第二步查找用戶白名單
    if password == user_lis_dict.get(name):   # 密碼正確,驗(yàn)證通過 退出
      print('親愛的會(huì)員', name, '歡迎回來')
      break
    else:                   # 密碼錯(cuò)誤,提示錯(cuò)誤
      if count == 2:
        name_bak_write = open('user_lis_bak', 'a', encoding='utf-8')
        name_bak_write.write(name+',')
        name_bak_write.close()       # 3次密碼錯(cuò)誤,就把用戶名寫進(jìn)黑名單
        print('用戶名已鎖定,請(qǐng)聯(lián)系管理員!!!')
        break
      print('密碼錯(cuò)誤!!!')
      count += 1               # 密碼錯(cuò)一次,count就+1
  else:
    if i == 4:                 # 用戶名錯(cuò)5次,直接退出
      print('嘗試次數(shù)過多,再見!!!')
      continue
    print('用戶名不存在!!!')          # 用戶名錯(cuò)誤,提示錯(cuò)誤

以上這篇python初學(xué)之用戶登錄的實(shí)現(xiàn)過程(實(shí)例講解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python使用pip安裝SciPy、SymPy、matplotlib教程

    python使用pip安裝SciPy、SymPy、matplotlib教程

    今天小編大家分享一篇python使用pip安裝SciPy、SymPy、matplotlib教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python制作簡(jiǎn)易版2048小游戲

    Python制作簡(jiǎn)易版2048小游戲

    2048作為經(jīng)典的手機(jī)端游戲一直深受大家的喜愛,本文將利用Python中的Pygame模塊制作簡(jiǎn)單版的2048游戲,感興趣的小伙伴可以了解一下
    2022-07-07
  • Python標(biāo)準(zhǔn)庫re的使用舉例(正則化匹配)

    Python標(biāo)準(zhǔn)庫re的使用舉例(正則化匹配)

    正則表達(dá)式re是內(nèi)置函數(shù),通過一定的匹配規(guī)則獲取指定的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Python標(biāo)準(zhǔn)庫re的使用舉例,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • Python協(xié)程的實(shí)現(xiàn)方式小結(jié)

    Python協(xié)程的實(shí)現(xiàn)方式小結(jié)

    協(xié)程是Python中強(qiáng)大的并發(fā)編程工具,允許開發(fā)者編寫異步代碼以提高程序的性能和效率,在本文中,我們將深入探討Python中協(xié)程的實(shí)現(xiàn)方式,包括生成器、asyncio庫和async/await關(guān)鍵字,我們還會(huì)提供詳細(xì)的示例代碼,幫助您理解和應(yīng)用協(xié)程,需要的朋友可以參考下
    2023-11-11
  • 淺談tensorflow使用張量時(shí)的一些注意點(diǎn)tf.concat,tf.reshape,tf.stack

    淺談tensorflow使用張量時(shí)的一些注意點(diǎn)tf.concat,tf.reshape,tf.stack

    這篇文章主要介紹了淺談tensorflow使用張量時(shí)的一些注意點(diǎn)tf.concat,tf.reshape,tf.stack,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python如何調(diào)用百度識(shí)圖api

    python如何調(diào)用百度識(shí)圖api

    這篇文章主要介紹了python如何調(diào)用百度識(shí)圖api,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-09-09
  • Django?使用VScode?創(chuàng)建工程的詳細(xì)步驟

    Django?使用VScode?創(chuàng)建工程的詳細(xì)步驟

    這篇文章主要介紹了Django?使用VScode?創(chuàng)建工程,創(chuàng)建Django 項(xiàng)目,可以和虛擬環(huán)境放在同一目錄,也可以放在虛擬環(huán)境的文件夾里,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • Python3簡(jiǎn)單爬蟲抓取網(wǎng)頁圖片代碼實(shí)例

    Python3簡(jiǎn)單爬蟲抓取網(wǎng)頁圖片代碼實(shí)例

    這篇文章主要介紹了Python3簡(jiǎn)單爬蟲抓取網(wǎng)頁圖片代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python+wxPython實(shí)現(xiàn)文件內(nèi)容搜索工具

    Python+wxPython實(shí)現(xiàn)文件內(nèi)容搜索工具

    在本篇文章中,我們將介紹如何使用?wxPython?庫創(chuàng)建一個(gè)簡(jiǎn)單的文件搜索工具,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下
    2023-08-08
  • Python實(shí)現(xiàn)在Word中創(chuàng)建表格并填入數(shù)據(jù)與圖片

    Python實(shí)現(xiàn)在Word中創(chuàng)建表格并填入數(shù)據(jù)與圖片

    在Word中,表格是一個(gè)強(qiáng)大的工具,本文主要為大家介紹了如何使用Python在Word中創(chuàng)建表格并填入數(shù)據(jù)、圖片,以及設(shè)置表格樣式等,感興趣的可以了解下
    2024-03-03

最新評(píng)論

沭阳县| 阳山县| 宁都县| 虞城县| 龙江县| 东莞市| 金阳县| 册亨县| 柯坪县| 泽库县| 米林县| 屏山县| 专栏| 乌什县| 达州市| 瑞金市| 通化县| 东乡县| 呼和浩特市| 贵定县| 江阴市| 岳池县| 五台县| 清丰县| 宁强县| 马山县| 敦煌市| 修武县| 息烽县| 婺源县| 南乐县| 西昌市| 尖扎县| 维西| 禹城市| 壤塘县| 舟曲县| 上栗县| 仁怀市| 白朗县| 石河子市|