溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

詳解python如何實現(xiàn)密碼驗證合格程序

發(fā)布時間:2020-07-20 11:04:12 來源:億速云 閱讀:179 作者:小豬 欄目:開發(fā)技術(shù)

小編這次要給大家分享的是詳解python如何實現(xiàn)密碼驗證合格程序,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

題目描述

輸入一行或多行字符串密碼,驗證每行密碼是否符合規(guī)范,符合提示“OK”,否則“NG”。密碼規(guī)范為:
1.長度超過8位
2.包括大小寫字母.數(shù)字.其它符號,以上四種至少三種
3.不能有相同長度超2的子串重復(fù)

解題思路

1.獲取輸入的多行字符串
2.對每行字符串進行密碼驗證:
1)如果密碼長度小于等于8或者是密碼中有長度超過2的重復(fù)子串,則密碼NG
2)在1)不滿足的情況下再看有沒有至少包含大寫字母、小寫字母、數(shù)字、其他符號

python代碼實現(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')

看完這篇關(guān)于詳解python如何實現(xiàn)密碼驗證合格程序的文章,如果覺得文章內(nèi)容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI