凯0102 发表于 2021-1-18 10:33:18

判断密码强弱

本帖最后由 凯0102 于 2021-1-18 11:08 编辑

密码要求:至少8位,必须包含字母和数字。
运行的时候无法正常运行,不能正常输出,各位帮忙看一下哪错了。
def check_number_excit(password_str):
    for c in password_str:
      if c.isnumeric():
            return True
      return False
def check_alphabat_excit(password_str):
   for c in password_str:
         if c.isalpha():
             return True
      return False
def main():
    password = input('请输入密码:')
#判断密码强度
    strength_level = 0
#规则1 密码长度大于8
    if len(password) >= 8:
      strength_level += 1
    else:
      print("您的密码少于8位")
#规则二    包含数字

    if check_number_excit(password):
      strength_level += 1
    else:
      print("密码必须包含数字元素!!")
#规则三包含字母

    if check_alphabat_excit(password):
      strength_level += 1

    else:
      print("密码必须包含字母元素!!")
    if strength_level == 3:
      print("您的密码强度合格!!")
    else:
      print("您的密码强度不合格。")





if __name__ == '__main__':
      main()

qq1151985918 发表于 2021-1-18 10:36:09

付费太不靠谱了吧

qq1151985918 发表于 2021-1-18 10:38:48

本帖最后由 qq1151985918 于 2021-1-18 10:42 编辑

啥也看不到,不过我以前给人回复过一个类似的你看看吧,在最后面的回复 200多行那个 有更详细的补充说明
<font color="red">[已解决]</font>python新人,求助大佬们这段密码等级判断的代码能否正确运行嘞?万分感谢!
https://fishc.com.cn/thread-188204-1-1.html
(出处: 鱼C论坛)

凯0102 发表于 2021-1-18 10:39:50

qq1151985918 发表于 2021-1-18 10:36
付费太不靠谱了吧

我好像整错了{:10_266:}
我想着是奖励来着,整成付费了{:10_269:}呜呜呜呜

qq1151985918 发表于 2021-1-18 10:42:23

凯0102 发表于 2021-1-18 10:39
我好像整错了
我想着是奖励来着,整成付费了呜呜呜呜

应该可以修改吧

凯0102 发表于 2021-1-18 11:05:55

qq1151985918 发表于 2021-1-18 10:42
应该可以修改吧

咦~是吗,让我试试

凯0102 发表于 2021-1-18 11:09:50

凯0102 发表于 2021-1-18 11:05
咦~是吗,让我试试

修改好了,哈哈

qq1151985918 发表于 2021-1-18 11:16:49

本帖最后由 qq1151985918 于 2021-1-18 11:26 编辑

缩进问题这个代码还是有问题,我本来一位是语法问题,结果逻辑还有问题,我下边发的那个,那个改过来了

bonst 发表于 2021-1-18 11:22:40

缩进和return的问题,我修改了一下# 检查密码中是否包含数字
def check_number_excit(password_str):
    for c in password_str:
      if c.isnumeric():
            return True
    return False

#检查密码中是否包含字母
def check_alphabat_excit(password_str):
    for c in password_str:
      if c.isalpha():
            return True
    return False

def main():
    password = input('请输入密码:')
#判断密码强度
    strength_level = 0
#规则1 密码长度大于8
    if len(password) >= 8:
      strength_level += 1
    else:
      print("您的密码少于8位")
#规则二    包含数字

    if check_number_excit(password):
      strength_level += 1
    else:
      print("密码必须包含数字元素!!")
#规则三包含字母

    if check_alphabat_excit(password):
      strength_level += 1

    else:
      print("密码必须包含字母元素!!")
    if strength_level == 3:
      print("您的密码强度合格!!")
    else:
      print("您的密码强度不合格。")

qq1151985918 发表于 2021-1-18 11:23:42

你那个代码缩进不知一处问题,我又给你改了下这下就没问题了def check_number_excit(password_str):
    for c in password_str:
      if c.isnumeric():
            return True
    return False
def check_alphabat_excit(password_str):
    for c in password_str:
      if c.isalpha():
            return True
    return False
def main():
    password = input('请输入密码:')
#判断密码强度
    strength_level = 0
#规则1 密码长度大于8
    if len(password) >= 8:
      strength_level += 1
    else:
      print("您的密码少于8位")
#规则二    包含数字

    if check_number_excit(password):
      strength_level += 1
    else:
      print("密码必须包含数字元素!!")
#规则三包含字母

    if check_alphabat_excit(password):
      strength_level += 1

    else:
      print("密码必须包含字母元素!!")
    if strength_level == 3:
      print("您的密码强度合格!!")
    else:
      print("您的密码强度不合格。")





if __name__ == '__main__':
      main()

jackz007 发表于 2021-1-18 11:36:48

def check_number_excit(password_str):
    r = False
    for c in password_str:
      if c . isnumeric():
            r = True
            break
    return r

def check_alphabat_excit(password_str):
   r = False
   for c in password_str:
         if c . isalpha():
             r =True
   return r

def main():
    strength_level = 0
    password = input('请输入密码:')
    if len(password) >= 8:
      strength_level += 1
    if check_number_excit(password):
      strength_level += 2
    if check_alphabat_excit(password):
      strength_level += 4
    if strength_level == 7 :
      print("您的密码强度合格!!")
    else:
      print("您的密码强度不合格!")
      print("原因是" , end = '')
      if strength_level == 6:
            print("长度不够 8 个字符")
      elif strength_level == 5:
            print("没有包含数字")
      elif strength_level == 4:
            print("长度不够 8 个字符,没有包含数字")
      elif strength_level == 3:
            print("没有包含字母")
      elif strength_level == 2:
            print("长度不够 8 个字符,没有包含字母")
      elif strength_level == 1:         
            print("没有包含数字和字母")
      else:
            print("长度不够 8 个字符,没有包含数字和字母")

if __name__ == '__main__':
    main()

Cool_Breeze 发表于 2021-1-21 11:04:38

正则表达式了解一下!
页: [1]
查看完整版本: 判断密码强弱