python 驗證字串密碼是否符合要求

2021-09-24 04:51:37 字數 2186 閱讀 3559

執行環境:python2.7 

需求如下:

"""檢查哪個字串用密碼合適。

1.密碼至少在8字以上20字以下

2.密碼由英文本母,數字和特殊文字組成

3. 至少應包括兩個數字

4.應包括乙個以上的大寫字母

5.特殊文字只能用( ___ ? !)三個

6.以密碼是否合適為結果返還。 此時不適合時,詳細理由也一併輸出,

- 不超過8個字或超過20個字:1

- 2個以下數字:2

- 沒有大寫字母:3

- 無特殊文字:4

- 其他不可接受的文字:5

7. 規則的優先順序是:

- 字數檢查

- 英文本母檢查

- 數字檢查

- 大寫字母檢查

- 特殊文字檢查

def isvalid(passwd) :

『』』 input : password

return value : isvalid – true or false reason – 1 ~ 5

『』』pass # 這部分完成

#main

password = input('enter your password: ')

pass # 這部分完成

enter your password: aqwefrji52!

有效口令。可以使用。

enter your password: qoiuwer?da3

密碼無效!請在密碼中至少包含兩個數字。

enter your password: qoieqwoh458%$

密碼無效!包含無效字元。

enter your password: a451asfㅁ니ㅏㅓㄻ

密碼無效!包含無效字元。

enter your password: a45alskfjlfas

密碼無效!請在密碼中至少包含乙個字元。

"""

**實現:

# -*- coding: utf-8 -*-

def isvalid(passwd):

shuzi_num = 0

lower_num = 0

upper_num = 0

teshuzifu_num = 0

wuxiaozifu_num = 0

# 字數檢查

if len(passwd) > 20 or len(passwd) < 8:

return "密碼無效:不超過8個字或超過20個字:1"

# 包含字元數量統計

for s in passwd:

if s.isdigit():

shuzi_num += 1

elif s.islower():

lower_num += 1

elif s.isupper():

upper_num += 1

elif s == "_" or s == "?" or s == "!":

teshuzifu_num += 1

else:

wuxiaozifu_num += 1

# 英文本母檢查

if lower_num <= 0 and upper_num <= 0:

return "密碼無效:未包含英文本母"

# 數字檢查

if shuzi_num < 2:

return "密碼無效:數字少於兩個:2"

# 大寫字母檢查

if upper_num < 1:

return "密碼無效:沒有大寫字母:3"

# 特殊文字檢查

if wuxiaozifu_num > 0:

return "密碼無效:包含無效字元:5"

if teshuzifu_num <= 0:

return "密碼無效:未包含特殊文字:4"

else:

return "有效口令。可以使用。"

if __name__ == "__main__":

# 接收控制台輸入

password = raw_input('enter your password: ')

print "password: ", password

# 判斷密碼是否符合要求

print isvalid(password)

Python判斷字串是否包含指定字串的方法

def main str abcdefgh re cd flag re in strprint flag if name main main 結果 true1.find 檢測字串中是否包含子字串,如果指定 beg 開始 和 end 結束 範圍內,則檢查是否包含在指定範圍內,如果包含子字串,返回第一次...

判斷字串 python判斷字串是否包含字母

第一種方法 使用正規表示式判斷字串是否包含字母 coding utf 8 import re def check str my re re.compile r a za z re.s res re.findall my re,str if len res print u 含有英文本元 else pr...

python 判斷字串是否包含子字串

第一種方法 in,主要是利用物件判斷 string helloworld if world in string print exist else print not exist 第二種方法 find string helloworld if string.find world 5 5的意思是worl...