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

云课堂学Python 2024-04-06 07:05:16
密码强度判断,输入一个密码,判断密码是否符合要求。 要求密码长度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 Truepassword = input("请输入密码:")if check_password(password): print("密码符合要求")else: print("密码不符合要求")「代码分析:」 使用 len() 函数计算密码长度进行判断。any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。使用 isupper() 检测是否包含大写字母;islower() 检测是否包含小写字母;isdigit() 检测是否包含数字。使用 string 模块中的大小写字母常量 string.ascii_letters、数字常量 string.digits,检测密码是否由大写字母、小写字母和数字组成,排除其他字符。使用正则表达式判断import redef 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 Truepassword = input("请输入密码:")if check_password(password): print("密码符合要求")else: print("密码不符合要求")「代码分析:」 使用 len() 函数计算密码长度进行判断。使用 re.search()方法扫描整个字符串进行匹配,分别检测密码是否包含大写字母、小写字母和数字。同样,检测密码是否只由大写字母、小写字母和数字组成。
0 阅读:0

云课堂学Python

简介:感谢大家的关注