輸入一個字符串,檢測是否是合法的密碼:
1)密碼必須包含8個字符
2)密碼只能包含英文字母和數字
3)密碼至少包含兩個數字
首先我講一下用到的方法
s為字符串 len(s) 求出字符串的長度。 list(s) 把字符串轉換為list,例如s='123' list(s)=['1','2','3'] s.isalnum() 所有字符都是數字或者字母,為真返回 Ture,否則返回 False。(重點,這是字母數字一起判斷的!!) s.isalpha() 所有字符都是字母,為真返回 Ture,否則返回 False。(只判斷字母) s.isdigit() 所有字符都是數字,為真返回 Ture,否則返回 False。(只判斷數字) s.islower() 所有字符都是小寫,為真返回 Ture,否則返回 False。 s.isupper() 所有字符都是大寫,為真返回 Ture,否則返回 False。 s.istitle() 所有單詞都是首字母大寫,為真返回 Ture,否則返回 False。 s.isspace() 所有字符都是空白字符,為真返回 Ture,否則返回 False。
好了,我們開始上代碼!
s = input('請輸入一個字符串:') # 密碼必須包含8個字符 if len(s) > 8: # 密碼只能包含英文字母和數字 if s.isalnum(): # 密碼至少包含兩個數字 num_number = 0 # 把字符串轉換為list for i in list(s): if i.isdigit(): num_number += 1 if num_number >= 2: break if num_number >= 2: print('密碼校驗成功!') else: print('密碼至少包含兩個數字!') else: print('密碼只能包含英文字母和數字!') else: print('密碼必須包含8個字符!')