小編這次要給大家分享的是詳解python如何實(shí)現(xiàn)密碼驗(yàn)證合格程序,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
成都創(chuàng)新互聯(lián)于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元天心做網(wǎng)站,已為上家服務(wù),為天心各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220題目描述
輸入一行或多行字符串密碼,驗(yàn)證每行密碼是否符合規(guī)范,符合提示“OK”,否則“NG”。密碼規(guī)范為:
1.長度超過8位
2.包括大小寫字母.數(shù)字.其它符號(hào),以上四種至少三種
3.不能有相同長度超2的子串重復(fù)
解題思路
1.獲取輸入的多行字符串
2.對(duì)每行字符串進(jìn)行密碼驗(yàn)證:
1)如果密碼長度小于等于8或者是密碼中有長度超過2的重復(fù)子串,則密碼NG
2)在1)不滿足的情況下再看有沒有至少包含大寫字母、小寫字母、數(shù)字、其他符號(hào)
python代碼實(shí)現(xiàn)
import sys import re def has_Dup(str): for i in range(len(str)-3): for j in range(i+1, len(str)-3): if str[i:i+3] == str[j:j+3]: return True def check_pwd(pwd): if len(pwd) <= 8 or has_Dup(pwd): return False count = 0 if re.search('[0-9]', pwd): count += 1 if re.search('[a-z]', pwd): count += 1 if re.search('[A-Z]', pwd): count += 1 if re.search('\W', pwd): count += 1 if count >= 3: return True pwdList = sys.stdin.readlines() for x in pwdList: x = x.strip() if check_pwd(x): print('OK') else: print('NG')
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。