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

Python统计数组中绵羊数量的函数报错,求正确实现方案

修正统计绵羊数量的Python函数

你的代码存在三个关键问题,导致返回None而不是正确的统计结果:

  1. 类型判断错误:数组中的元素是布尔值True/False,但你却和字符串'True'做比较,这个条件永远不会触发。
  2. 提前终止函数:遇到非'True'的元素就返回None,这会让函数在遍历到第一个False时直接停止,根本无法完成整个数组的统计。
  3. 统计逻辑错误:就算条件判断正确,total += i的写法虽然布尔值True会被转为1,但直接加1的逻辑更清晰直观。

修正后的基础版本

def count_sheeps(sheep):
    total = 0
    for i in sheep:
        if i:  # 布尔值True本身为真,直接判断即可
            total += 1
    return total

更简洁的Pythonic写法

利用Python的sum()函数可以直接统计布尔值数组的True数量(因为True在数值上等价于1,False等价于0):

def count_sheeps(sheep):
    return sum(sheep)

测试你提供的数组,两个版本都会返回正确结果17。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 05:30:22