乘号 发表于 2020-2-28 18:04:55

小白求助

while 1:
    num = '0123456789'
    alpha = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    extra = r'''~!@#$%^&*()_=-/,.?<>;:[]{}\|'''

    passwd = input('请输入需要检查的密码组合:')
    length = len(passwd)

    while (length == 0 or passwd.isspace()):
      passwd = input('输入密码为空,请重新输入:')
      length = len(passwd)

    if length <= 8:
      flag_len = 1
    elif length >= 16:
      flag_len = 3
    else:
      flag_len = 2

    flag_con = 0
    for each in passwd:
      if each in num:
            flag_con += 1
            break
    for each in passwd:
      if each in alpha:
            flag_con += 1
            break
    for each in passwd:
      if each in extra:
            flag_con += 1
            break

    while 1:
      print('您的密码安全级别评定为:',end='')
      if flag_len == 1 or flag_con == 1:
            print('低')

      elif flag_len == 3 and flag_con == 3 and (passwd in alpha):
            print('高')
            print('请继续保持')
            break

      else:
            print('中')

      print('"请按以下方式提升您的密码安全级别:\n\
      \t1.密码必须由数字、字母及特殊字符三种组合\n\
      \t2.密码只能由字母开头\n\
      \t3.密码长度不低于16位')
      break

上面的代码结束不了怎么回事。求助大神

wuqramy 发表于 2020-2-28 18:09:31

少了一个break,帮你改好了:
while 1:
    num = '0123456789'
    alpha = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    extra = r'''~!@#$%^&*()_=-/,.?<>;:[]{}\|'''

    passwd = input('请输入需要检查的密码组合:')
    length = len(passwd)

    while (length == 0 or passwd.isspace()):
      passwd = input('输入密码为空,请重新输入:')
      length = len(passwd)

    if length <= 8:
      flag_len = 1
    elif length >= 16:
      flag_len = 3
    else:
      flag_len = 2

    flag_con = 0
    for each in passwd:
      if each in num:
            flag_con += 1
            break
    for each in passwd:
      if each in alpha:
            flag_con += 1
            break
    for each in passwd:
      if each in extra:
            flag_con += 1
            break

    while 1:
      print('您的密码安全级别评定为:',end='')
      if flag_len == 1 or flag_con == 1:
            print('低')

      elif flag_len == 3 and flag_con == 3 and (passwd in alpha):
            print('高')
            print('请继续保持')
            break

      else:
            print('中')

      print('"请按以下方式提升您的密码安全级别:\n\
      \t1.密码必须由数字、字母及特殊字符三种组合\n\
      \t2.密码只能由字母开头\n\
      \t3.密码长度不低于16位')
      break
    break

jackz007 发表于 2020-2-28 18:18:39

      楼主,同样的代码昨天不是才问过吗,连 "最佳答案" 都设置了,怎么,昨天没过瘾?

乘号 发表于 2020-2-28 18:31:43

jackz007 发表于 2020-2-28 18:18
楼主,同样的代码昨天不是才问过吗,连 "最佳答案" 都设置了,怎么,昨天没过瘾?

没有啊

乘号 发表于 2020-2-28 18:54:05

jackz007 发表于 2020-2-28 18:18
楼主,同样的代码昨天不是才问过吗,连 "最佳答案" 都设置了,怎么,昨天没过瘾?

没有啊

乘号 发表于 2020-3-7 19:34:32

jackz007 发表于 2020-2-28 18:18
楼主,同样的代码昨天不是才问过吗,连 "最佳答案" 都设置了,怎么,昨天没过瘾?

我什么时候发了我自己都不知道
页: [1]
查看完整版本: 小白求助