鱼C论坛

 找回密码
 立即注册
查看: 1247|回复: 6

[已解决]大神们帮我看看为什么怎么输入密码都为低级,谢谢

[复制链接]
发表于 2017-8-10 11:35:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
symbols=r'''!@#$%^&*()'''
chars='qwertyuiopasdfghjklzxcvbnm'
numbers='123456789'
passwad=input('请输入正确的密码组合:')
length=len(passwad)
while (passwad.isspace()or length==0):
    passwad=input('密码不能有空格,清重新输入:')
    length=len(passwad)
if length<=8:
        flag_len=1
elif 8<length<16:
        flag_len=2
else:
        flag_len=3
flag_con=0
for each in passwad:
    if each in symbols:
        flag_con=1
        break
for each in passwad:
    if each in chars:
        flag_con=1
        break
for each in passwad:
    if each in numbers:
        flag_con=1
        break
   
while 10:
    print('你的密码安全等级为:',end=' ')
    if flag_len==1 or flag_con==1:
        print('低!')
    elif flag_len==2 or False:
        print('中')
    else:
        print('高')
        print('继续保持')
        break
    print('请提高密码等级')
    break
最佳答案
2017-8-10 12:46:18
  1. symbols=r'''!@#$%^&*()'''
  2. chars='qwertyuiopasdfghjklzxcvbnm'
  3. numbers='123456789'
  4. passwad=input('请输入正确的密码组合:')
  5. length=len(passwad)
  6. while (passwad.isspace()or length==0):
  7.     passwad=input('密码不能有空格,清重新输入:')
  8.     length=len(passwad)
  9. if length<=8:
  10.         flag_len=1
  11. elif 8<length<16:
  12.         flag_len=2
  13. else:
  14.         flag_len=3
  15. flag_con=0
  16. for each in passwad:
  17.     if each in numbers:
  18.         flag_con+=1
  19.         break
  20.    
  21. for each in passwad:
  22.     if each in chars:
  23.         flag_con+=1
  24.         break
  25.    
  26. for each in passwad:
  27.     if each in symbols:
  28.         flag_con+=1
  29.         break
  30.    
  31. while 10:
  32.     print('你的密码安全等级为:',end=' ')
  33.     if flag_len==1 and flag_con==1:
  34.         print('低!')
  35.     elif flag_len==2 and flag_con==2:
  36.         print('中')
  37.     else:
  38.         print('高')
  39.         print('继续保持')
  40.         break
  41.     print('请提高密码等级')
  42.     break
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-8-10 11:37:13 | 显示全部楼层
我好像flag_con处理有问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-10 11:39:55 | 显示全部楼层
建议你去看看小甲鱼老师的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-10 11:40:40 | 显示全部楼层
三种情况你都是flag_con = 1
那么无论如何都是低
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-10 11:40:54 | 显示全部楼层
所以应该是+1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-10 12:46:18 | 显示全部楼层    本楼为最佳答案   
  1. symbols=r'''!@#$%^&*()'''
  2. chars='qwertyuiopasdfghjklzxcvbnm'
  3. numbers='123456789'
  4. passwad=input('请输入正确的密码组合:')
  5. length=len(passwad)
  6. while (passwad.isspace()or length==0):
  7.     passwad=input('密码不能有空格,清重新输入:')
  8.     length=len(passwad)
  9. if length<=8:
  10.         flag_len=1
  11. elif 8<length<16:
  12.         flag_len=2
  13. else:
  14.         flag_len=3
  15. flag_con=0
  16. for each in passwad:
  17.     if each in numbers:
  18.         flag_con+=1
  19.         break
  20.    
  21. for each in passwad:
  22.     if each in chars:
  23.         flag_con+=1
  24.         break
  25.    
  26. for each in passwad:
  27.     if each in symbols:
  28.         flag_con+=1
  29.         break
  30.    
  31. while 10:
  32.     print('你的密码安全等级为:',end=' ')
  33.     if flag_len==1 and flag_con==1:
  34.         print('低!')
  35.     elif flag_len==2 and flag_con==2:
  36.         print('中')
  37.     else:
  38.         print('高')
  39.         print('继续保持')
  40.         break
  41.     print('请提高密码等级')
  42.     break
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-10 13:26:01 | 显示全部楼层
新手·ing 发表于 2017-8-10 11:40
三种情况你都是flag_con = 1
那么无论如何都是低

谢谢,是我自己理解错了,回想一下思路突然通了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-22 10:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表