当前位置: 首页 > news >正文

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

目录:

    • 利用 string 模块判断
    • 使用正则表达式判断

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

要求密码长度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.digitsif not all(char in chars  for char in password):return Falsereturn Truepassword = 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 Falseif not re.search("[a-z]", password):return Falseif not re.search("[A-Z]", password):return Falseif not re.search("[0-9]", password):return Falseif re.search("[^a-zA-Z0-9]", password):return Falsereturn True
password = input("请输入密码:")
if check_password(password):print("密码符合要求")
else:print("密码不符合要求")

代码分析:

  1. 使用 len() 函数计算密码长度进行判断。
  2. 使用 re.search()方法扫描整个字符串进行匹配,分别检测密码是否包含大写字母、小写字母和数字。同样,检测密码是否只由大写字母、小写字母和数字组成。

相关文章:

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

目录&#xff1a; 利用 string 模块判断使用正则表达式判断 密码强度判断&#xff0c;输入一个密码&#xff0c;判断密码是否符合要求。 要求密码长度8-12位&#xff0c;密码中必须包含大写字母、小写字母和数字&#xff0c;不能含有其他符号。 如果符合要求输出"密码符合…...

基于SpringBoot的农产品直卖平台

采用技术 基于SpringBoot的农产品直卖平台的设计与实现~ 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBootMyBatis 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 页面展示效果 用户功能 农产品信息 确认下单 农产品订单 购物车 商家功…...

DevSecOps平台架构系列-微软云Azure DevSecOps平台架构

目录 一、概述 二、Azure DevOps和黄金管道 2.1 概述 2.2 Azure DevOps架构说明 2.2.1 架构及管道流程图 2.2.2 架构内容 2.2.2.1 Azure Boards 2.2.2.2 Azure Repos 2.2.2.3 Azure Test Plans 2.2.2.4 Azure Pipelines 2.2.2.5 Azure Application Insights 2.2.2.6…...

操作系统:管程与进程通信机制解析

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…...

inno setup 卸载程序 删除整个安装目录

业务场景&#xff1a;有次客户反馈说&#xff0c;卸载应用程序没有卸载干净&#xff0c;安装目录下残留很多文件&#xff0c;特别是一些配置文件和数据库文件&#xff0c;涉及到一些数据安全机密。卸载程序应该把安装目录都要清除。操作如下&#xff1a; 卸载应用程序&#xf…...

【Vue3源码学习】— CH2.5 reactiveEffect.ts:Vue 3响应式系统的核心

reactiveEffect.ts&#xff1a;Vue 3响应式系统的核心 1. 什么是 reactiveEffect&#xff1f;2. 核心机制2.1 依赖收集&#xff08;Track&#xff09;2.2 触发更新&#xff08;Trigger&#xff09;2.3 效果范围&#xff08;effectScope&#xff09; 3. 源码解析 —— track3.1 …...

K8S的mountPath和subPath

1 mountPath mountPath是容器内部文件系统的挂载点&#xff0c;它定义了容器内部将外部存储卷&#xff08;如 PersistentVolume、ConfigMap、Secret 等&#xff09;挂载到哪个路径下。通过 mountPath&#xff0c;容器可以访问这些挂载的数据或配置。 2 subPath subPath 是 m…...

notepad++里安装32位和64位的16进制编辑器Hex-Editor

这个16进制编辑器确实是个好东西&#xff0c;平时工作种会经常用到&#xff0c; 这是hex-editor的官网。这个里边只能下载32位的(64位的看最下边)&#xff0c;选一个合适的版本&#xff0c;我当时选的是最新的版本 https://sourceforge.net/projects/npp-plugins/files/Hex%20E…...

Python类的基本结构

当我们在Python中定义类时&#xff0c;我们实际上是在创建一种新的数据类型。类允许我们定义对象的属性和方法&#xff0c;从而构建更复杂的程序。让我们深入探讨一下关于类的一些重要概念。 定义类&#xff1a;基本结构 一个类的基本结构包括以下部分&#xff1a; 类名&…...

利用HIVE的窗口函数进行SQL查询中出现的问题记录

student_info部分数据 score_info部分数据 course_info 1、问题复现 --完整SQL selectsti.stu_id,sti.stu_name,concat_ws(",",collect_set(ci.course_name)) over(partition by sti.stu_id) fromstudent_info sti left joinscore_info sci onsti.stu_idsci.stu_id l…...

更改chatglm认知

ChatGLM-Efficient-Tuning 下载源代码 下载ChatGLM-Efficient-Tuning 解压 创建虚拟环境 conda create --prefixD:\CondaEnvs\chatglm6btrain python3.10 cd D:\ChatGLM-Efficient-Tuning-main conda activate D:\CondaEnvs\chatglm6btrain安装所需要的包 pip install -r…...

WPF 界面命令绑定(MVVM结构)

1.创建模型数据类&#xff08;M&#xff09; /// <summary>/// 数据模型/// </summary>public class LoginDataModel{// 用户名private string _userName;public string UserName{get { return _userName; }set{_userName value;}}// 密码private string _passWor…...

常见手撕项目C++

常见手撕项目C 设计模式单例模式饿汉模式懒汉模式 策略模式策略接口实现具体的策略&#xff08;虚函数重写&#xff09;定义上下文用户调用 设计模式 单例模式 单例模式是一种常用的软件设计模式&#xff0c;其目的是确保一个类只有一个实例&#xff0c;并提供一个全局访问点来…...

创建一个批处理作业来处理大量数据,例如从数据库中读取数据并进行处理

创建一个批处理作业来处理大量数据&#xff0c;例如从数据库中读取数据并进行处理 要创建一个批处理作业来处理大量数据&#xff0c;您可以使用Spring Batch。Spring Batch是一个用于大规模批处理的框架&#xff0c;它提供了丰富的功能来处理复杂的批处理任务&#xff0c;如读…...

LeetCode 2.两数相加

给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0c;这两个数都不会以 0 …...

如何利用ChatGPT提升学术论文写作效率

ChatGPT无限次数:点击直达 如何利用ChatGPT提升学术论文写作效率 ChatGPT 是一种基于大规模预训练模型的自然语言处理工具&#xff0c;可以在各种文本生成任务中发挥作用&#xff0c;包括学术论文写作。利用ChatGPT&#xff0c;可以提高学术论文写作的速度和质量&#xff0c;帮…...

LLMs之Mistral:Mistral 7B v0.2的简介、安装和使用方法、案例应用之详细攻略

LLMs之Mistral&#xff1a;Mistral 7B v0.2的简介、安装和使用方法、案例应用之详细攻略 导读&#xff1a;Mistral AI首个7B模型发布于2023年9月&#xff0c;在基准测试中超越Llama 2 13B&#xff0c;一下子声名大振。Mistral 7B v0.2对应的指令调优版本Mistral-7B-Instruct-v0…...

深入解析Oracle数据库中的WITH AS(CTE)原理

Oracle数据库中的WITH AS子句&#xff08;也称为公用表表达式CTE(Common Table Expression)&#xff09;是一种高级查询构造工具&#xff0c;它允许在一条SQL语句的开始部分定义临时的结果集&#xff08;或称子查询&#xff09;&#xff0c;这个结果集可以被随后的查询主体多次…...

Linux 环境安装 Elasticsearch 8.X

安装前说明 首先确定操作系统&#xff0c;在Linux发行版上执行uname -a查看具体系统。我是Ubuntu系统&#xff0c;可以用直接用apt-get安装&#xff0c;也可以下载tar.gz包手动安装。使用apt-get安装更方便快速&#xff0c;但不同的文件会被安装到不同的目录&#xff0c;不方便…...

Java零基础-集合:函数式接口

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一个人虽可以走的更快&#xff0c;但一群人可以走的更远。 我是一名后…...

【灶台导航】 RAG系统的容错设计:从向量搜索到关键词降级,一个都不能少

当三个外部依赖都可能随时挂掉时&#xff0c;如何保证用户永远有响应&#xff1f;问题&#xff1a;完美主义害死人 做RAG系统时&#xff0c;我们很容易陷入一种思维定势&#xff1a;向量检索要准、LLM要强、整个链路要丝滑。但现实是——任何一个外部服务挂了&#xff0c;用户就…...

杂交瘤技术:单克隆抗体制备的经典核心技术

杂交瘤技术&#xff08;Hybridoma Technology&#xff09;是通过人工细胞融合技术&#xff0c;将经抗原免疫的 B 淋巴细胞与骨髓瘤细胞融合&#xff0c;构建可无限增殖且分泌高纯度、高特异性单克隆抗体的杂交瘤细胞系的核心技术。该技术由 Georges Kohler 与 Cesar Milstein 于…...

基于MCP协议与向量检索,为AI编程助手构建跨会话持久记忆

1. 项目概述&#xff1a;为AI编程助手构建持久记忆如果你和我一样&#xff0c;日常重度依赖Cursor、Claude Code、Windsurf这类AI编程助手&#xff0c;那你一定遇到过这个让人头疼的场景&#xff1a;昨天在Cursor里花了半小时跟AI解释清楚了一个复杂模块的业务逻辑和设计思路&a…...

Claude智能优化器:提升AI应用开发效率的提示词工程中间件

1. 项目概述与核心价值 最近在折腾AI应用开发&#xff0c;特别是围绕Claude API做各种自动化工具时&#xff0c;发现一个挺普遍的问题&#xff1a;直接调用Claude API返回的答案&#xff0c;有时候会显得有点“啰嗦”或者“不够聚焦”。比如你让它写一段代码&#xff0c;它可能…...

Linux服务器远程桌面实战:xrdp配置与Windows无缝连接指南

1. 为什么需要xrdp远程桌面&#xff1f; 刚接触Linux服务器的朋友经常会问我一个问题&#xff1a;"能不能像Windows那样直接用远程桌面连接&#xff1f;"说实话&#xff0c;我第一次管理Linux服务器时也有同样的困惑。毕竟对于习惯了Windows图形界面的用户来说&#…...

别再微调模型了!Claude 3.5 Sonnet新增3类零样本指令模板:Prompt工程师的最后护城河正在崩塌?

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Claude 3.5 Sonnet零样本指令能力的范式跃迁 Claude 3.5 Sonnet 在零样本&#xff08;zero-shot&#xff09;场景下展现出前所未有的指令理解与泛化能力&#xff0c;标志着大模型从“模式复现”向“意图…...

从手动导入到自动溯源:Perplexity提问→Mendeley定位原文→高亮引用段落→一键生成BibTeX(全流程图解)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;从手动导入到自动溯源&#xff1a;Perplexity提问→Mendeley定位原文→高亮引用段落→一键生成BibTeX&#xff08;全流程图解&#xff09; 科研写作中&#xff0c;文献溯源与引用管理长期面临“知其然不…...

【ElevenLabs API接入黄金手册】:20年AI语音工程师亲授5大避坑要点与3小时极速上线实战路径

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs API接入黄金手册&#xff1a;开篇导论与核心价值定位 ElevenLabs 以行业领先的语音自然度、情感表现力与多语言支持能力&#xff0c;成为生成式AI语音服务的事实标准。其API并非仅提供TTS基…...

NSA 5G:从双连接到网络切片,解析5G组网演进之路

1. 非独立组网5G&#xff1a;一场关于“先有鸡还是先有蛋”的行业博弈如果你在2017年的世界移动通信大会&#xff08;MWC&#xff09;现场&#xff0c;可能会感到一丝困惑。前一年&#xff0c;整个行业还在为5G描绘一幅彻底颠覆4G、开启万物互联新纪元的宏伟蓝图。然而一年后&a…...

Harbor:统一管理MCP服务器的配置中心与团队协作平台

1. 项目概述&#xff1a;一个统一管理MCP服务器的“港口” 如果你和我一样&#xff0c;每天都在Claude Code、Cursor、VS Code这几个编辑器之间来回切换&#xff0c;同时还要折腾一堆MCP服务器&#xff0c;那你肯定也经历过这种痛苦&#xff1a;在 ~/.claude.json 里加一个配…...