題目
編寫乙個函式,接收乙個字串作為引數,判斷該字串作為密碼的話其安全強度如何。如果字串中只包含大寫字母、小寫字母、數字字元或標點符號中的一種則為弱密碼,包含兩種為中低安全密碼,包含三種為中高安全密碼,包含四種則為強密碼。不許使用正規表示式哦
參考**
import string
defcheck
(pwd):
#密碼必須至少包含6個字元
ifnot isinstance(pwd, str) or len(pwd)<6:
return
'not suitable for password'
#密碼強度等級與包含字元種類的對應關係
d =
#分別用來標記pwd是否含有數字、小寫字母、大寫字母和指定的標點符號
r = [false] * 4
for ch in pwd:
#是否包含數字
ifnot r[0] and ch in string.digits:
r[0] = true
#是否包含小寫字母
elif
not r[1] and ch in string.ascii_lowercase:
r[1] = true
#是否包含大寫字母
elif
not r[2] and ch in string.ascii_uppercase:
r[2] = true
#是否包含指定的標點符號
elif
not r[3] and ch in
',.!;?<>':
r[3] = true
#統計包含的字元種類,返回密碼強度
return d.get(r.count(true), 'error')
python書中練習題 python練習題
1 定義乙個空列表,接收從鍵盤輸入的整數,把列表傳給乙個從大到小排序的函式,再輸出排序後的列表的值 listex b 0 a int input 請輸入列表長度 while b a num int input 請輸入字元 b 1 print listex sum 0 for i in range 0...
python的練習題 Python練習題
1 使用while迴圈輸入1 2 3 4 5 6 8 9 10 i 0while i 10 i i 1 if i 7 continue print i 結果 e python python python test.py1 2 求1 100的所有數的和 i 0sum 0 while i 100 i 1...
java學習練習題
1.通過命令列輸入一串字元,首先判斷這些字元是否都為數 字。如果其中有字元不是數字,那麼直接在命令列上輸出 用 戶輸入的字元不都為數字,無法轉換 程式結束 如果用 戶輸入的字元都為數字,那麼將該數字轉換為中文的大寫表 示 使用者每次最多輸入 8個字元 輸入輸出示例 輸入 1234567 輸出 一百二...