题目详情
填空题 一.题目 设计一个密码验证器,功能需求: 1)检查密码长度密码长度必须在8到20个字符之间. 2)使用字符串的len()函数. 3)检查是否包含大写字母密码必须至少包含一个大写字母. 4)使用字符串方法.isupper()和string.ascii_uppercase. 5)检查是否包含小写字母,密码必须至少包含一个小写字母. 6)使用字符串方法.islower()和string.ascii_lowercase. 7)检查是否包含数字密码必须至少包含一个数字. 8)使用字符串方法.isdigit()和string.digits. 9)检查是否包含特殊字符,密码必须至少包含一个特殊字符(如!@#$%^&*()等). 10)使用string.punctuation. 11)综合以上所有规则,验证密码是否符合安全要求. 如果符合,提示用户"密码验证成功";否则,提示具体不符合的规则. 退出程序 用户可以选择退出程序. 二.程序源代码 import string def check_password(password): """ 检查密码是否符合安全要求 1. 长度在8到20个字符之间 2. 至少包含一个大写字母 3. 至少包含一个小写字母 4. 至少包含一个数字 5. 至少包含一个特殊字符 """ errors = [] # 用于存储不符合的规则 # 1. 检查密码长度 if not _____1_____: errors.append("密码长度必须在8到20个字符之间.") # 2. 检查是否包含大写字母 if not any(_____2_____): errors.append("密码必须至少包含一个大写字母.") # 3. 检查是否包含小写字母 if not any(_____3_____): errors.append("密码必须至少包含一个小写字母.") # 4. 检查是否包含数字 if not any(_____4_____): errors.append("密码必须至少包含一个数字.") # 5. 检查是否包含特殊字符 special_characters = string.punctuation if not any(char in special_characters for char in password): errors.append("密码必须至少包含一个特殊字符(如!@#$%^&*()等).") return errors def main(): """ 主程序 1. 提示用户输入密码 2. 调用 check_password 函数验证密码 3. 根据验证结果提示用户 4. 提供退出选项 """ print("欢迎使用密码验证器!") while True: print("\n请选择操作:") print("1. 验证密码") print("2. 退出") choice = input("请输入选择的序号(1-2):") if choice == '1': password = input("请输入密码:") errors = _____5_____ if not errors: print("密码验证成功!") else: print("密码验证失败,原因如下:") for error in errors: print(f"- {error}") elif choice == '2': print("感谢使用密码验证器!再见!") break else: print("无效的输入,请重新选择!") if __name__ == "__main__": main() 三.程序功能说明: 检查密码长度: 使用len()函数检查密码长度是否在8到20个字符之间. 检查是否包含大写字母: 使用any()函数和char.isupper()方法检查密码中是否至少包含一个大写字母. 检查是否包含小写字母: 使用any()函数和char.islower()方法检查密码中是否至少包含一个小写字母. 检查是否包含数字: 使用any()函数和char.isdigit()方法检查密码中是否至少包含一个数字. 检查是否包含特殊字符: 使用string.punctuation获取所有特殊字符,然后检查密码中是否至少包含一个特殊字符. 综合验证: 如果密码符合所有规则,提示用户"密码验证成功". 如果不符合,列出所有不符合的规则. 退出程序: 提供退出选项,结束程序运行. 四.示例运行: 欢迎使用密码验证器! 请选择操作: 1. 验证密码 2. 退出 请输入选择的序号(1-2):1 请输入密码:Password123! 密码验证成功! 请选择操作: 1. 验证密码 2. 退出 请输入选择的序号(1-2):1 请输入密码:pass 密码验证失败,原因如下: - 密码长度必须在8到20个字符之间. - 密码必须至少包含一个大写字母. - 密码必须至少包含一个数字. - 密码必须至少包含一个特殊字符(如!@#$%^&*()等). 请选择操作: 1. 验证密码 2. 退出 请输入选择的序号(1-2):2 感谢使用密码验证器!再见

学科:默认课程
时间:2025-12-17 11:31:50
