|
|
发表于 2016-2-20 14:38:53
|
显示全部楼层
本帖最后由 小小大鱼 于 2016-2-20 14:42 编辑
1.问题在最后面的判断密码级别上,flag_con是密码长度,不是级别
- if flag_con == 1 and password not in sybols and flag_len == 1:
- print('密码安全性较低',end='')
- if flag_con == 2 and flag_len == 2:
- print('密码安全等级为中',end='')
- if flag_con == 3 and flag_len == 3 and flag_upper ==1:
- print('很好,你的密码安全等级很高,请继续保持', end='')
复制代码
分别只有以下情况才会有结果:
a.密码只有一位,且没有符号
b.密码只有两位
c.密码只有三位,且首位是字母
修改后代码如下:请参考:
- symbols = r'''~!@#$%^&*()_=-/,.?<>;:[]{}|\''''
- numbers = '0123456789'
- letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
- password=input("请输入密码: ")
- length = len(password)
- flag_con = 0
- flag_len = 0
- flag_upper = 0
- #判断密码的组成
- for each in password:
- if each in symbols or numbers or letters:
- flag_con+=1
- #判断密码的长度
- if length<8:
- flag_len = 1
- if 8<=length<16:
- flag_len = 2
- if length>=16:
- flag_len = 3
- #判断首字母
- if flag_len == 3 and password[0] in letters:
- flag_upper = 1
- #判断密码级别
- if flag_len == 1 and password not in symbols :
- print('密码安全性较低',end='')
- if flag_len == 2:
- print('密码安全等级为中',end='')
- if flag_len == 3 and flag_upper ==1:
- print('很好,你的密码安全等级很高,请继续保持', end='')
复制代码
事实上,这里的flag_con没有起任何作用,如果你想判断密码组成,请分别统计,不要用同一变量名flag_con |
评分
-
查看全部评分
|