機器學習小分隊練習題

2021-08-01 23:38:08 字數 991 閱讀 2759

題目

編寫乙個函式,接收乙個字串作為引數,判斷該字串作為密碼的話其安全強度如何。如果字串中只包含大寫字母、小寫字母、數字字元或標點符號中的一種則為弱密碼,包含兩種為中低安全密碼,包含三種為中高安全密碼,包含四種則為強密碼。

不許使用正規表示式哦

參考**

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 輸出 一百二...