|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本人比较愚钝,所以在这个题目上花了较多时间才理解透,根据鱼C大大的代码稍微改动了一下:
symbols = r'''~!@#$%^&*()_=-/,.?<>;:[]{}\|'''
nums = '0123456789'
chars = 'abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUVwWXYZ'
again = 'y'
while again == 'y':
password = input('请输入密码:')
length = len(password)
while(password.isspace() or length == 0):
password = input('输入为空或未输入字符,请重新输入:')
if length <= 8:
flag_len = 1
elif 8 < length < 16:
flag_len = 2
else:
flag_len = 3
flag_con = 0
for i in password:
if i in symbols:
flag_con += 1 #可否写成flag_con = 1,当然不行
break
for i in password:
if i in chars:
flag_con += 1 #可否写成flag_con = 1,当然不行
break
for i in password:
if i in nums:
flag_con += 1 #可否写成flag_con = 1,当然不行
break
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('请继续保持')
if password[0] not in chars:
print('遗憾的是密码第一个字符不为字母')
break #如果没有break 则会进入死循环
print('''请按以下方式提升您的密码安全级别: \n\
\t1. 密码必须由数字.字母及特殊字符三种组合 \n\
\t2. 密码只能由字母开头 \n\
\t3. 密码长度不能低于 16 位''')
break #如果没有break 则会进入死循环
again = input("重新测试请按'y',退出请按其他键:")
print('测试结束!')
判断密码的第一个字符是否为字母,使用了.isalpha代码,这里犯了个低级错误
|
|