1. 程式人生 > 程式設計 >python實現密碼驗證合格程式的思路詳解

python實現密碼驗證合格程式的思路詳解

題目描述

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

解題思路

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

python程式碼實現

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')

總結

到此這篇關於python實現密碼驗證合格程式的思路詳解的文章就介紹到這了,更多相關python密碼驗證合格程式內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!