用集合的方法判断密码是否合法

import string

pwd=input('请输入你的密码:').strip()
pwd=set(pwd)
#密码必须包括大写字母、小写字母、数字、特殊字符
if pwd&set(string.digits) and pwd&set(string.ascii_uppercase) and pwd&set(string.ascii_lowercase) and pwd&set(string.punctuation):
print("密码合法")
else:
print("密码不合法")

解析:pwd&set(string.digits)
string.digits---0到9的数字
pwd & set(string.digits)的交集,为真即含有数字

pwd&set(string.ascii_uppercase)交集,为真即含有大写字母
pwd&set(string.ascii_lowercase) 交集,为真即含有小写字母
pwd&set(string.punctuation)交集,为真即含有特殊字符

posted on 2018-08-05 23:17  smileBB  阅读(328)  评论(0编辑  收藏  举报