登陸入口

一停做、要求:

  • 輸入用戶名密碼
  • 認證成功后顯示歡迎信息
  • 輸錯三次后鎖定

二、程序流程圖

image.png

三悄谐、代碼

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: Jeff Zhu
import getpass

usr_info = [
    ["Zhang San","asdf123","Logout"], #每個元素是一個列表寒瓦,有3個子元素,分別是用戶名皆刺,密碼林说,狀態(tài)
    ["Li Si","dsaff1","Logout"],      #狀態(tài)有三種 Login劣摇,Logout,Locked
    ["Wang Wu","123456","Logout"],
    ["Zhao Er Ma Zi","888888","Logout"],
]

wrong_times = 0

while True:
    usr_name_input = input("請輸入用戶名>>>")

    for i in range(len(usr_info)):
        if usr_info[i][0] == usr_name_input:
            usr_index = i
            break
        else:
            usr_index = -1
    
    if usr_index != -1:     #用戶存在
        if usr_info[usr_index][2] != "Locked": #判斷用戶是否被鎖定
            while wrong_times < 3:
                #usr_pwd_input = input("請輸入密碼>>>")
                usr_pwd_input = getpass.getpass("請輸入密碼>>>") #提示用戶輸入密碼
                if usr_pwd_input == usr_info[usr_index][1]:#密碼正確
                    print("%s,Wellcome!"%usr_info[usr_index][0])
                    usr_info[usr_index][2] = "Login"#狀態(tài)變更為Login
                    wrong_times = 0
                    break
                else:#密碼錯誤
                    print("密碼錯,請重新輸入")
                    wrong_times += 1
            else:
                print("連續(xù)輸錯3次,賬戶被鎖定")
                usr_info[usr_index][2] = "Locked"
                wrong_times = 0
            if usr_info[usr_index][2] == "Login":
                break
        else:
            print("該賬戶已被鎖定")#提示用戶已被鎖定
    else:
        print("用戶不存在")#提示用戶名不存在

四、小結

1、建立一個list把所有用戶的用戶名,密碼和狀態(tài)存進去蚪战,在流程分支控制時瞎疼,可以作為標志位來使用。

2、getpass在pycharm中無法使用,需要到命令行中才能起作用,之前還以為是程序問題,總是死在獲取密碼那里担平,后來發(fā)現是pycharm的問題空免。

3、用戶名查表那里,我使用了一個索引變量來指向查找的字符串,在C語言中經常使用此類技巧柑船,不知Python中還有沒有更好的方法逆巍。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市檬嘀,隨后出現的幾起案子揍异,更是在濱河造成了極大的恐慌柿菩,老刑警劉巖躏尉,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件痊臭,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進店門睦授,熙熙樓的掌柜王于貴愁眉苦臉地迎上來是复,“玉大人,你說我怎么就攤上這事坚弱⌒╅梗” “怎么了亭病?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我襟士,道長嗜历,這世上最難降的妖魔是什么田轧? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任蟆炊,我火速辦了婚禮劈猪,結果婚禮上将饺,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布请契。 她就那樣靜靜地躺著氯夷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天庄涡,我揣著相機與錄音泣洞,去河邊找鬼腿宰。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼粘秆,長吁一口氣:“原來是場噩夢啊……” “哼昔搂!你這毒婦竟也來了策吠?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡军拟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年戒祠,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,764評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情纳寂,我是刑警寧澤爷肝,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一齐疙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工衣形, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留句狼,地道東北人。 一個月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓蔬捷,卻偏偏與公主長得像凰兑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,665評論 2 354

推薦閱讀更多精彩內容