输入一个字符串,检测是否是合法的密码:
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个字符!')