大学 Python 程序设计实验报告:判断密码是否符合要求


密码强度判断,输入一个密码,判断密码是否符合要求。

要求密码长度8-12位,密码中必须包含大写字母、小写字母和数字,不能含有其他符号。

如果符合要求输出"密码符合要求",否则输出"密码不符合要求"

利用 string 模块判断

import string
# 定义一个函数来检查密码是否符合要求
def check_password(password):
    # 检查密码长度
    if len(password) < 8 or len(password) > 12:
        return False

    # 检查密码是否包含大写字母、小写字母和数字
    if not any(char.isupper() for char in password) or not any(char.islower() for char in password) or not any(char.isdigit() for char in password):
        return False
    
    # 检查密码是否包含特殊字符
    chars = string.ascii_letters + string.digits
    if not all(char in chars  for char in password):
        return False

    return True

password = input("请输入密码:")
if check_password(password):
        print("密码符合要求")
else:
        print("密码不符合要求")

代码分析:

  1. 使用 len() 函数计算密码长度进行判断。
  2. any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。
  3. 使用 isupper() 检测是否包含大写字母;islower() 检测是否包含小写字母;isdigit() 检测是否包含数字。
  4. 使用 string 模块中的大小写字母常量 string.ascii_letters、数字常量 string.digits,检测密码是否由大写字母、小写字母和数字组成,排除其他字符。

使用正则表达式判断

import re
def check_password(password):
    if len(password) < 8 or len(password) > 12:
        return False

    if not re.search("[a-z]", password):
        return False

    if not re.search("[A-Z]", password):
        return False

    if not re.search("[0-9]", password):
        return False

    if re.search("[^a-zA-Z0-9]", password):
        return False

    return True
password = input("请输入密码:")
if check_password(password):
        print("密码符合要求")
else:
        print("密码不符合要求")

代码分析:

  1. 使用 len() 函数计算密码长度进行判断。
  2. 使用 re.search()方法扫描整个字符串进行匹配,分别检测密码是否包含大写字母、小写字母和数字。同样,检测密码是否只由大写字母、小写字母和数字组成。
  • 15
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值