|  | 
 
| 
【问题描述】
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 编写程序,对输入的密码(长度不超过28)进行强度检测。密码强度规定为:
 
 1)含有数字字符;
 
 2)含有小写字母;
 
 3)含有大写字母;
 
 4)密码长度不低于8;
 
 5)至少含有~!@#$%^&*()_=-/,.?<>;:[]{}|\中的一个字符
 
 规定密码满足上列任意条件即加一星,程序输出密码的星级
 
 【输入形式】
 
 长度在28以内的任意字符串。
 
 【输出形式】
 
 根据密码强度要求,输出密码强度星级,用整数表示
 
 【样例输入】
 
 123.aq.Aw!
 
 【样例输出】
 
 5
 
 a=input()
 b=0
 c='~!@#$%^&*()_=-/,.?<>;:[]{}|\\'
 
 for i in a:
 if i.isdigit():
 b+=1
 break
 for i in a:
 if i.isupper():
 b+=1
 break
 for i in a:
 if i.islower():
 b+=1
 break
 for i in a:
 if i in c:
 b+=1
 break
 if len(a)>=8:
 b+=1
 print(b)
 
break 放错位置了 复制代码a=input()
b=0
c='~!@#$%^&*()_=-/,.?<>;:[]{}|\\'
for i in a:
    if i.isdigit():
        b+=1
        break
for i in a:
    if i.isupper():
        b+=1
        break
for i in a:
    if i.islower():
        b+=1
        break
for i in a:
    if i in c:
        b+=1
        break
if len(a)>=8:
    b+=1
print(b)
其实代码可以写的更简洁一些, 
你的代码里好多的 for 循环大体都是重复的,为什么不放到一个循环里呢? | 
 |