当前位置: 首页 > 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;但一群人可以走的更远。 我是一名后…...

突破系统限制:Mac Mouse Fix如何重新定义第三方鼠标体验

突破系统限制&#xff1a;Mac Mouse Fix如何重新定义第三方鼠标体验 【免费下载链接】mac-mouse-fix Mac Mouse Fix - A simple way to make your mouse better. 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 在macOS生态系统中&#xff0c;第三方鼠…...

Gemini 1.5 Pro 免费使用指南:仅需谷歌账户三步搞定

1. 为什么选择Gemini 1.5 Pro&#xff1f; 如果你正在寻找一款功能强大且免费的AI助手&#xff0c;Gemini 1.5 Pro绝对值得一试。作为谷歌推出的最新一代AI模型&#xff0c;它在处理复杂任务时表现出色&#xff0c;无论是文本生成、代码编写还是数据分析都能轻松应对。最棒的是…...

Python金融数据工程:构建高可靠股票数据管道的3种架构方案

Python金融数据工程&#xff1a;构建高可靠股票数据管道的3种架构方案 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 在量化投资和金融数据分析领域&#xff0c;获取稳定、实时的股票数据是每个技…...

如何高效解决Cursor试用限制?完整实用的解决方案指南

如何高效解决Cursor试用限制&#xff1f;完整实用的解决方案指南 【免费下载链接】go-cursor-help 解决Cursor在免费订阅期间出现以下提示的问题: Youve reached your trial request limit. / Too many free trial accounts used on this machine. Please upgrade to pro. We h…...

旋变信号处理中的相位问题:如何用仿真工具分析并补偿滤波电路带来的相移

旋变信号相位补偿实战&#xff1a;从仿真到硬件设计的全链路解决方案 电机控制系统中&#xff0c;旋转变压器&#xff08;旋变&#xff09;作为高精度位置传感器&#xff0c;其信号质量直接影响闭环控制性能。然而工程师们常遇到一个棘手问题——旋变反馈信号与激励信号之间的…...

春联生成模型-中文-base实操手册:模型量化(INT4)降低显存占用50%实测

春联生成模型-中文-base实操手册&#xff1a;模型量化&#xff08;INT4&#xff09;降低显存占用50%实测 1. 引言 春节将至&#xff0c;写春联是传统习俗&#xff0c;但很多人苦于没有文采写不出好对联。现在有了春联生成模型&#xff0c;只需要输入两个字的祝福词&#xff0…...

极速获取全平台歌词:163MusicLyrics跨平台解析工具使用指南

极速获取全平台歌词&#xff1a;163MusicLyrics跨平台解析工具使用指南 【免费下载链接】163MusicLyrics Windows 云音乐歌词获取【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 你是否经常遇到想听的歌曲找不到匹配歌词的情况&a…...

从Julia到Python:手把手教你用KomaMRI.jl模拟MRI序列,并与Python生态联动

从Julia到Python&#xff1a;KomaMRI.jl与Python生态的高效联动实战指南 在医学影像研究领域&#xff0c;MRI序列的模拟与深度学习分析正逐渐形成紧密的工作流闭环。传统MATLAB工具链虽然成熟&#xff0c;但在处理大规模模拟任务和对接现代AI框架时往往力不从心。Julia语言凭借…...

MedGemma X-Ray开源大模型部署:医疗AI合规性与本地化实践

MedGemma X-Ray开源大模型部署&#xff1a;医疗AI合规性与本地化实践 1. 引言&#xff1a;当AI遇见医疗影像 想象一下&#xff0c;一位年轻的住院医师面对一张复杂的胸部X光片&#xff0c;需要快速判断是否存在肺炎、气胸或骨折的迹象。传统的阅片过程依赖经验积累&#xff0…...

CI/CD实战:使用GitHub Actions自动化部署faasd函数

CI/CD实战&#xff1a;使用GitHub Actions自动化部署faasd函数 【免费下载链接】faasd A lightweight & portable faas engine 项目地址: https://gitcode.com/gh_mirrors/fa/faasd faasd是一个轻量级、可移植的函数即服务&#xff08;FaaS&#xff09;引擎&#xf…...