|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
passwd = input('请输入您的密码:')
sybols = "!@#$%^&*()_+-=[];\',./{}:\">"
chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
nums = '1234567890'
length = len(passwd)
while (passwd.isspace() or length == 0):
print('密码中不能含有空格或者密码不能为空')
length = len(passwd)
if length <= 8:
flag_len = 1
if 16 > length > 8:
flag_len = 2
if 16 < length:
flag_len = 3
passwd_con = 0
for i in passwd:
if i in sybols:
passwd_con += 1
break
for i in passwd:
if i in chars:
passwd_con += 1
break
for i in passwd:
if i in nums:
passwd_con += 1
break
while 1:
print('您的密码安全等级为:', end = ' ')
if length == 1 or passwd_con == 1:
print('低')
elif flag_len == 3 and passwd_con == 3 and passwd[0] in chars:
print('高')
break
else:
print('中')
print('请按以下方式提高密码安全等级:\n\t1.密码必须由数字、字母及特殊字符\n\t2.密码只能由字母开头\n\t3.密码长度不能低于16位')
break
这里是代码 在自己打代码的过程中将第二个while循环里的elif打成if,运行代码的结果,如果密码安全等级为低,会在下一行出现一个“中”字,但是如果密码等级为高就不会出现这种情况。。。求大神告知!!!另外还有在每个for语句后面都要加上break?还有第二个while循环的break为什么在else之前??? |
|