|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
symbols = '~!@#$%^&*()_=-/,.?<>;:[]{}\|'
chars = 'abcdefghijklmnopqrstuvwxyzABCCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '0123456789'
t = 'y'
while t == 'y':
passwd = input('您输入的密码为空(或空格),请重新输入:')
length = len(passwd)
while (passwd.isspace()) or (length == 0):
passwd = input('您输入的密码为空(或空格),请重新输入:')
length = len(passwd)
#flag_len 和 flag_con分别是什么意思,有什么作用#
if length <= 8:
flag_len = 1
elif 8 < length < 16:
flag_len = 2
else:
flag_len = 3
flag_con = 0
for each in passwd:
if each in symbols:
flag_con = flag_con + 1
break
for each in passwd:
if each in chars:
flag_con = flag_con + 1
break
for each in passwd:
if each in nums:
flag_con = flag_con + 1
break
#while 1这里的1是怎么来的,有什么作用#
while 1:
print('您的密码安全等级为:',end = '')
if flag_len == 1 or flag_con == 1:
print('低')
elif flag_len == 2 or flag_con == 2:
print('中')
else:
print('高')
print('请继续保持')
break
print('111')
break
t=input('还要测试么?("y"继续,其他退出)')
#好像并没有实现第一个字母必须大写#
这是验证密码的安全等级的那个题,上面程序代码中标红的区域就是我的疑问,一共有三个:flag_len 和 flag_con分别是什么意思,有什么作用;while 1这里的1是怎么来的,有什么作用;这个程序好像并没有实现第一个字母必须大写
1、flag_len其实就是根据密码长度判断的等级,小于等于8的为1级,大于8小于16的为2级,其他的为3级
flag_con是密码等级的另外一个判断,就是复杂程度加分的说法,如果包含特殊字符加1分,如果包含大小写字母加1分,如果包含数字加1分
当密码长度等级为1且复杂程度得分为1时,安全等级为低,以此类推(懒得写了)
2、while 1 是代表条件始终成立,在其他地方是要做无限循环,在当前这段代码中并没有要无限循环的意思,因为在判断之后不管条件是什么最终都break了,只执行了一次
3、并没有实现第一个字母必须大写
|
|