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

无法统计字典中指定状态值数量,代码输出始终为0求排查

代码问题排查与修复

原代码的核心问题:

  • 缩进混乱:Python是缩进敏感语言,原代码里for循环、if语句、末尾的print(y)以及函数调用的缩进全部不符合规范,会直接触发语法错误。
  • 判断逻辑错误:if status.values() == "online"这行逻辑完全错误——status.values()返回的是字典所有值的集合视图,不可能等于单个字符串"online",应该用循环里的变量i来做判断。
  • 冗余输出:循环内部的print(y)会在每次计数时都打印数值,属于不必要的冗余代码。

修正后的代码:

statuses = {
    "Alice": "online", 
    "Bob": "online", 
    "Eve": "offline"
}

def online_count(status):
    y = 0
    for i in status.values():
        if i == "online":
            y += 1
    print(y)

online_count(statuses)

额外优化(可选):

还可以用Python内置方法简化代码,一行搞定计数:

statuses = {
    "Alice": "online", 
    "Bob": "online", 
    "Eve": "offline"
}

def online_count(status):
    return list(status.values()).count("online")

print(online_count(statuses))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 08:20:22