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

Python实现字符串连续0最大计数功能代码返回0问题排查

代码问题排查及修正

你的代码存在3处核心逻辑错误,直接导致返回结果不符合预期:

  • 赋值逻辑颠倒:遇到1比对当前计数和历史最大值时,你写的zeros = cache是错误的,应该是把更大的当前连续0计数赋值给保存最大值的cache,即改为cache = zeros。
  • return语句缩进错误:当前return写在for循环内部,函数会在第一次循环结束后直接返回初始值0,不会完成整个字符串的遍历。
  • 计数重置逻辑错误:首先zeros置0的操作放在了if zeros > cache的判断分支内,只有当前连续0数量超过历史最大值时才会重置计数,不符合逻辑;其次如果字符串末尾是连续0,循环结束后没有做最终比对,会漏掉最后一段的连续0统计。

修正后的可用代码如下:

def consecutive_zeros(string):
    zeros = 0
    cache = 0
    # 直接遍历字符更简洁,不需要通过索引取值
    for elem in string:
        if elem == "0":
            zeros += 1
        else:
            if zeros > cache:
                cache = zeros
            # 只要遇到非0字符就重置当前计数
            zeros = 0
    # 补充处理字符串末尾是连续0的情况
    if zeros > cache:
        cache = zeros
    return cache

执行print(consecutive_zeros("0100100001"))即可得到预期结果4。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:36:04