启零 发表于 2021-10-8 22:40:12

请哪位大佬帮看看,第14章的动动手作业,我这个代码怎么打印不了密码安全级别“高级

post=input("请输入您的密码:")
symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
s = 0
for i in post:
    if i in symbols:
      s = 1
      break
if (post.isalnum()) and len(post)<= 8:
    print("您的密码安全级别为:低级\n","请按以下方式提升您的密码安全级别:\n"," 1. 密码必须由数字、字母及特殊字符三种组合\n""2. 密码只能由字母开头\n3. 密码长度不能低于16位\t")
elif (post.isalnum()) and (s == 1) and post.isalpha():
    print("您的密码安全级别为:高级")
else:
    print("您的密码安全级别为:中级\n","请按以下方式提升您的密码安全级别:\t"," 1. 密码必须由数字、字母及特殊字符三种组合\n""2. 密码只能由字母开头\n3. 密码长度不能低于16位\t")

冬雪雪冬 发表于 2021-10-8 23:07:23

elif (post.isalnum()) and (s == 1) and post.isalpha():中isalnum()是仅含数字和字母(意味着不含其它字符),这与s == 1是不可能同时成立的

plovelove 发表于 2021-10-8 23:38:21

等你继续完善的代码,打个卡

傻眼貓咪 发表于 2021-10-9 08:33:07

本帖最后由 傻眼貓咪 于 2021-10-9 08:56 编辑

def passwordLevels(password: str) -> str:
    """
    鉴别密码等级
      高级:包含数字,特殊字符,字母,字母开头,密码长度:length >= 16
      中级:包含数字,字母,密码长度:8 <= length < 16
      低级:只包含数字,密码长度:length < 8
    """
    if len(password) < 8:
      return "密码等级:低级" if all() else "密码不符合任何等级"
    elif len(password) < 16:
      return "密码等级:中级" if password.isalnum() else "密码不符合任何等级"
    elif len(password) >= 16 and password.isalpha():
      a =
      b =
      return "密码等级:高级" if any(a) and any(b) and not password.isalnum() else "密码不符合任何等级"
    else: return "密码不符合任何等级"

def main():
    print(passwordLevels.__doc__)
    print(passwordLevels(input("请输入您的密码:")))

if __name__ == "__main__":
    main()
    鉴别密码等级
      高级:包含数字,特殊字符,字母,字母开头,密码长度:length >= 16
      中级:包含数字,字母,密码长度:8 <= length < 16
      低级:只包含数字,密码长度:length < 8

请输入您的密码:123456
密码等级:低级

请输入您的密码:abcd123456
密码等级:中级

请输入您的密码:abcde1234567@#$%^
密码等级:高级

请输入您的密码:23423423GFHGFFJF
密码不符合任何等级
页: [1]
查看完整版本: 请哪位大佬帮看看,第14章的动动手作业,我这个代码怎么打印不了密码安全级别“高级