You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python密码有效性校验功能实现:按指定规则验证密码

密码校验功能实现与修正

需求说明

  • 密码需满足以下全部条件:
    • 包含至少一个大写英文字母
    • 包含至少一个数字(0-9)
    • 长度不超过8个字符
  • 验证通过输出Successful Password,未通过输出Try again

原代码问题分析

  • 数字检测范围遗漏0,无法识别包含0的合法密码
  • 嵌套循环逻辑混乱,无法正确判断密码是否同时满足大写字母和数字的要求
  • 长度判断错误:原代码限制密码长度必须小于8,不符合"不超过8"的需求
  • 输出文本不匹配:未通过时输出"Fail",与需求的"Try again"不符

修正后的实现代码

def pass_check(password):
    has_upper = False
    has_digit = False
    # 先检查长度是否超标
    if len(password) > 8:
        return False
    # 遍历字符检测大写字母和数字
    for char in password:
        if char.isupper():
            has_upper = True
        if char.isdigit():
            has_digit = True
        # 提前结束循环,提升效率
        if has_upper and has_digit:
            break
    # 返回所有条件的校验结果
    return has_upper and has_digit

password = input("Please enter your password: ")
if pass_check(password):
    print("Successful Password")
else:
    print("Try again")

代码说明

  • 简化参数传递:仅传入密码字符串,无需额外预处理数据
  • 全面数字检测:使用str.isdigit()方法覆盖0-9所有数字
  • 高效逻辑判断:通过标记变量跟踪条件满足情况,单次遍历即可完成检测
  • 严格匹配需求:长度判断改为"不超过8",输出文本完全符合要求

内容的提问来源于stack exchange,提问作者saffieee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 15:40:48