| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
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 循环大体都是重复的,为什么不放到一个循环里呢?  
 
 
 |   
 
 
 
 |