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

Python单测试用例运行时输出两个False的问题修复

问题原因
  • 重复输出的核心诱因是循环写法错误:Python中直接用for 变量 in 字典的写法,默认遍历的是字典的顶层键,你的test0字典一共有input、output两个顶层键,所以这个循环会执行2次,对应打印2次结果。
  • 当前输出内容为False是因为count_rotations函数里只有pass占位语句,函数默认返回None,None == 3的判断结果本身就是False,这和重复输出问题无关。
修复方法

如果只需要运行当前这一个测试用例,直接删掉错误的循环,单次执行判断打印即可,修正后代码:

def count_rotations(nums):
    # 后续补全旋转计数的业务逻辑即可
    pass

test0  = {
    'input': {
        'nums': [4,5,1,2,3]
    },
    'output': 3
}

print(count_rotations(test0['input']['nums']) == test0['output'])

如果后续需要批量运行多个测试用例,需要先把所有测试用例存到列表里,再遍历列表执行判断,避免直接遍历单个测试字典的键,参考写法:

def count_rotations(nums):
    # 后续补全旋转计数的业务逻辑即可
    pass

# 所有测试用例统一放在列表中,后续新增用例直接往列表里追加即可
test_cases = [
    {
        'input': {
            'nums': [4,5,1,2,3]
        },
        'output': 3
    }
]

for test in test_cases:
    print(count_rotations(test['input']['nums']) == test['output'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 07:51:25