|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
看了答案,感觉我写的只符合了这个要求,要是输入的密码都不在(低中高密码)要求范围内,从实用性上来说,是否可以print('输入的密码不符合规范')来代替?
# 密码安全性检查代码
#
# 低级密码要求:
# 1. 密码由单纯的数字或字母组成
# 2. 密码长度小于等于8位
#
# 中级密码要求:
# 1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
# 2. 密码长度不能低于8位
#
# 高级密码要求:
# 1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
# 2. 密码只能由字母开头
# 3. 密码长度不能低于16位
- b="""~!@#$%^&*()_=-/,.?<>;:[]{}|\""" #特殊字符串
- c=0 #用来判断特殊字符串个数
- d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'#用来判断密码首位是否是字母
- while True:
- password=input('请输入你的密码:')
- if password.isalnum()==True and len(password)<=8: #全数字或全字母,密码长度小于等于8
- print('这是低级密码')
- else:
- for i in password: #得到每未数密码
- if i in b: #判断是存在特殊字符
- c+=1
- if c==2 and 8<len(password)<=16: #特殊字符数为2,密码长度9~16
- print('这是中级密码')
- elif c>=3 and len(password)>16 and password[0] in d: #特殊字符数大于2,密码长度大于16,密码首位为字母
- print('这是高级密码')
- else:
- print('输入的密码不符合规范')
复制代码 |
|