Python基础-检测密码,一些网站会给密码强加一些规则。

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

猜你喜欢

转载自www.cnblogs.com/Python-XiaCaiP/p/11747557.html