Python檢驗(yàn)用戶輸入密碼的復(fù)雜度
密碼強(qiáng)度檢測(cè)規(guī)則:
- 至少包含一個(gè)數(shù)字
- 至少包含一個(gè)大寫字母
- 長(zhǎng)度至少 8 位
主要知識(shí)點(diǎn)
- while 循環(huán)
- 推導(dǎo)式
- 列表 any 函數(shù)
- 命令行 input
代碼部分
密碼強(qiáng)度檢測(cè)
1、首先創(chuàng)建一個(gè) python 文件
導(dǎo)入系統(tǒng)包
import platform
密碼強(qiáng)度檢測(cè)規(guī)則
至少包含一個(gè)數(shù)字至少包含一個(gè)大寫字母長(zhǎng)度至少 8 位
每天打印一詞,激勵(lì)一下自己。
print("人生苦短,我用Python")
輸入密碼
while True: password = input("請(qǐng)輸入待檢測(cè)密碼: ")
列表推導(dǎo)式使用
print("數(shù)字檢測(cè): ", [i.isdigit() for i in password]) print("大寫字母檢測(cè): ", [i.isupper() for i in password]) print("密碼長(zhǎng)度: ", len(password))
是否有數(shù)字, 推導(dǎo)式檢測(cè)。
hasNumber = any([i.isdigit() for i in password])
是否有大寫字母, 推導(dǎo)式檢測(cè)。
hasUpper = any([i.isupper() for i in password])
密碼檢測(cè)
if hasNumber and hasUpper and len(password) >= 8: print("密碼符合規(guī)則, 檢查通過(guò)") break else: print("密碼校驗(yàn)未通過(guò), 請(qǐng)重新輸入")
2、運(yùn)行結(jié)果
請(qǐng)輸入待檢測(cè)密碼: 123213 數(shù)字檢測(cè): [True, True, True, True, True, True] 大寫字母檢測(cè): [False, False, False, False, False, False] 密碼長(zhǎng)度: 6 密碼校驗(yàn)未通過(guò), 請(qǐng)重新輸入 請(qǐng)輸入待檢測(cè)密碼: abc1234 數(shù)字檢測(cè): [False, False, False, True, True, True, True] 大寫字母檢測(cè): [False, False, False, False, False, False, False] 密碼長(zhǎng)度: 7 密碼校驗(yàn)未通過(guò), 請(qǐng)重新輸入 請(qǐng)輸入待檢測(cè)密碼: Abc34567 數(shù)字檢測(cè): [False, False, False, True, True, True, True, True] 大寫字母檢測(cè): [True, False, False, False, False, False, False, False] 密碼長(zhǎng)度: 8 密碼符合規(guī)則, 檢查通過(guò)
全部代碼
import platform print("人生苦短,我用Python") while True: password = input("請(qǐng)輸入待檢測(cè)密碼: ") print("數(shù)字檢測(cè): ", [i.isdigit() for i in password]) print("大寫字母檢測(cè): ", [i.isupper() for i in password]) print("密碼長(zhǎng)度: ", len(password)) hasNumber = any([i.isdigit() for i in password]) hasUpper = any([i.isupper() for i in password]) if hasNumber and hasUpper and len(password) >= 8: print("密碼符合規(guī)則, 檢查通過(guò)") break else: print("密碼校驗(yàn)未通過(guò), 請(qǐng)重新輸入")
到此這篇關(guān)于Python檢驗(yàn)用戶輸入密碼的復(fù)雜度的文章就介紹到這了,更多相關(guān)Python檢驗(yàn)密碼復(fù)雜度內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)新型冠狀病毒傳播模型及預(yù)測(cè)代碼實(shí)例
在本篇文章里小編給大家整理的是關(guān)于Python實(shí)現(xiàn)新型冠狀病毒傳播模型及預(yù)測(cè)代碼內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2020-02-02Python腳本Selenium及頁(yè)面Web元素定位詳解
這篇文章主要為大家介紹了Python腳本中如何使用Selenium定位頁(yè)面Web元素的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10Python NumPy數(shù)組裁切和數(shù)據(jù)類型的實(shí)現(xiàn)即原理詳解
這篇文章主要介紹了Python NumPy數(shù)組裁切和數(shù)據(jù)類型的實(shí)現(xiàn)即原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-05-05pandas實(shí)現(xiàn)將日期轉(zhuǎn)換成timestamp
今天小編就為大家分享一篇pandas實(shí)現(xiàn)將日期轉(zhuǎn)換成timestamp,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12python如何派生內(nèi)置不可變類型并修改實(shí)例化行為
這篇文章主要為大家詳細(xì)介紹了python如何派生內(nèi)置不可變類型并修改實(shí)例化行為,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03Pycharm中安裝Pygal并使用Pygal模擬擲骰子(推薦)
這篇文章主要介紹了Pycharm中安裝Pygal并使用Pygal模擬擲骰子,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04Python實(shí)現(xiàn)全自動(dòng)輸入文本的示例詳解
這篇文章主要和大家分享一個(gè)Python全自動(dòng)輸入文本的腳本,可以實(shí)現(xiàn)自動(dòng)用Notepad++打開文本文件,然后自動(dòng)輸入文本,最后保存并關(guān)閉文件,從而實(shí)現(xiàn)全面自動(dòng)化處理文本,希望對(duì)大家有所幫助2022-11-11python?yaml文件數(shù)據(jù)按原有的數(shù)據(jù)順序dump問(wèn)題小結(jié)
這篇文章主要介紹了python?yaml文件數(shù)據(jù)按原有的數(shù)據(jù)順序dump,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-11-11Python數(shù)據(jù)可視化編程通過(guò)Matplotlib創(chuàng)建散點(diǎn)圖代碼示例
這篇文章主要介紹了Python數(shù)據(jù)可視化編程通過(guò)Matplotlib創(chuàng)建散點(diǎn)圖實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12