久久久精品2019免费观看_亚洲国产精品成人久久久_69国产成人综合久久精品91_国产精品久久精品视

Python 多賬號(hào)登入案例

前面我們將多賬號(hào)放進(jìn)了use.txt文件里面。

這章講怎么講多賬號(hào)正常登入。

接著上章的代碼。

with open(r'G:\PythonProject\學(xué)習(xí)\學(xué)習(xí)文件\date\user.txt', mode='rt', encoding='utf-8') as f:
    for line in f:
        l = line.strip().split('----')

接下去我還是用接發(fā)復(fù)制來拿到username和password。

with open(r'G:\PythonProject\學(xué)習(xí)\學(xué)習(xí)文件\date\user.txt', mode='rt', encoding='utf-8') as f:
    for line in f:
        username, password = line.strip().split('----')

然后我們再和前面的單個(gè)賬號(hào)密碼驗(yàn)證來結(jié)合一下。

接受用戶的賬號(hào)密碼坑定還是要的。

input_username = input('請輸入你的賬號(hào)>>>').strip()
input_password = input('請輸入你的密碼>>>').strip()
with open(r'G:\PythonProject\學(xué)習(xí)\學(xué)習(xí)文件\date\user.txt', mode='rt', encoding='utf-8') as f:
    for line in f:
        username, password = line.strip().split('----')

然后這個(gè)for循環(huán)里面,每循環(huán)一次是不是就拿到了一個(gè)用戶的賬號(hào)密碼,所以每循環(huán)一次拿到一個(gè)賬號(hào)密碼之后,我們就要驗(yàn)證一次。

if input_username == username and input_password == password:
    print('登入成功')

如果驗(yàn)證成功后,我們還要做一步操作,就是break。不然的話假設(shè)循環(huán)到第二行的賬號(hào)密碼的時(shí)候,就驗(yàn)證通過了,然后這個(gè)for循環(huán)還在繼續(xù)往后判斷。

if input_username == username and input_password == password:
    print('登入成功')
    break

然后什么時(shí)候告訴用戶賬號(hào)密碼輸入錯(cuò)了呢?肯定不是接著這個(gè)if寫else了。是等這個(gè)for循環(huán)結(jié)束之后仍然沒有匹配上賬號(hào)密碼,就告訴用戶賬號(hào)密碼錯(cuò)誤了。

我們在for循環(huán)外面用else來寫。

這樣else子代碼塊會(huì)在for循環(huán)正常結(jié)束的時(shí)候執(zhí)行,如果for循環(huán)中途被break打斷,就不會(huì)執(zhí)行else下面的子代碼塊。

放到這段代碼上看,意思就是如果一次都沒有遇到break,就說明用戶輸入的賬號(hào)密碼一次都沒有匹配上。

這樣代碼就正常結(jié)束,執(zhí)行外層的else子代碼塊。

input_username = input('請輸入你的賬號(hào)>>>').strip('\n')
input_password = input('請輸入你的密碼>>>').strip('\n')
with open(r'G:\PythonProject\學(xué)習(xí)\學(xué)習(xí)文件\date\user.txt', mode='rt', encoding='utf-8') as f:
    for line in f:
        username, password = line.strip().split('----')
        if input_username == username and input_password == password:
            print('登入成功')
            break
    else:
        print('賬號(hào)或密碼錯(cuò)誤')

注意,這里的else是和for循環(huán)連用的,不要寫在if判斷的那層級去了。寫在if判斷同一層,那整個(gè)邏輯意思就不一樣了。

你講else寫在if同級當(dāng)你判斷第一行賬號(hào)密碼匹配不上,就直接打印‘賬號(hào)或密碼錯(cuò)誤’,不會(huì)匹配剩下的賬號(hào)密碼。

現(xiàn)在是我們自己寫程序來操作文件的,很多同學(xué)應(yīng)該都聽說過數(shù)據(jù)庫,其實(shí)數(shù)據(jù)庫就是對文件進(jìn)行增刪改查的一個(gè)軟件,,通過數(shù)據(jù)庫來存取數(shù)據(jù)效率會(huì)更高。

等學(xué)完數(shù)據(jù)庫之后,我們就不會(huì)自己來寫程序操作文件存取數(shù)據(jù)了。

而是在我們寫的程序和文件中間,加一個(gè)數(shù)據(jù)庫管理軟件,我們通過給數(shù)據(jù)庫管理軟件發(fā)指令,這個(gè)軟件就會(huì)幫我們?nèi)ゲ僮魑募?/p>

現(xiàn)在我們沒學(xué)數(shù)據(jù)庫,只能自己動(dòng)手寫程序造作文件了。

接著上面的代碼打印看看,分別輸入正確與錯(cuò)誤的賬號(hào)密碼。

未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python 多賬號(hào)登入案例

贊 (0) 打賞

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

微信掃一掃打賞