> 文档中心 > 【Python 实战基础】如何检验用户输入密码的复杂度

【Python 实战基础】如何检验用户输入密码的复杂度

目录

一、实战场景

二、主要知识点

三、菜鸟实战

1、创建 python 文件

2、运行结果


一、实战场景

密码强度检测规则: 

  • 1、至少包含一个数字
  • 2、至少包含一个大写字母
  • 3、长度至少 8 位

二、主要知识点

  • while 循环
  • 推导式
  • 列表 any 函数
  • 命令行 input 

三、菜鸟实战

马上安排!

1、创建 python 文件

'''Author: 菜鸟实战实战场景: 密码强度检测'''# 导入系统包import platform'''# 密码强度检测规则1 至少包含一个数字2 至少包含一个大写字母3 长度至少 8 位'''print("Hello,菜鸟实战")while True:    password = input("请输入待检测密码: ")    # 推导式使用    print("数字检测: ", [i.isdigit() for i in password])    print("大写字母检测: ", [i.isupper() for i in password])    print("密码长度: ", len(password))    # 是否有数字, 推导式检测    hasNumber = any([i.isdigit() for i in password])    # 是否有大写字母, 推导式检测    hasUpper = any([i.isupper() for i in password])    if hasNumber and hasUpper and len(password) >= 8: print("密码符合规则, 检查通过") break    else: print("密码校验未通过, 请重新输入")print("版本", platform.python_version())

2、运行结果

Hello,菜鸟实战
请输入待检测密码: 123213
数字检测:  [True, True, True, True, True, True]
大写字母检测:  [False, False, False, False, False, False]
密码长度:  6
密码校验未通过, 请重新输入
请输入待检测密码: abc1234
数字检测:  [False, False, False, True, True, True, True]
大写字母检测:  [False, False, False, False, False, False, False]
密码长度:  7
密码校验未通过, 请重新输入
请输入待检测密码: Abc34567
数字检测:  [False, False, False, True, True, True, True, True]
大写字母检测:  [True, False, False, False, False, False, False, False]
密码长度:  8
密码符合规则, 检查通过
版本 3.10.4

 菜鸟实战,持续学习!