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

Python doctest示例失败 check_TLA首字母缩写函数问题求解

问题根因

你的doctest校验失败核心原因是函数逻辑写错了输出方式:你用print()把拼接后的字符串打印到了控制台,但doctest校验的是函数的返回值。使用print不会向调用方返回任何有效结果,函数默认会返回None,自然和测试用例预期的'GOT'/'IOU'不匹配。
另外原代码里docstring的缩进和函数体不对齐,也可能触发语法报错。

正确实现代码
def check_TLA(w1, w2, w3):
    '''
    >>> check_TLA("Game" , "of", "thrones")
    'GOT'
    >>> check_TLA("impressive", "optical", "under")
    'IOU'
    '''
    return w1[0].upper() + w2[0].upper() + w3[0].upper()


if __name__ == "__main__":
    import doctest
    doctest.testmod(verbose=True)
修复说明
  • 核心改动:将函数内的print替换为return,把拼接完成的三字母缩写作为函数返回值返回,满足doctest的校验规则
  • 调整了docstring的缩进,和函数内部代码保持4空格缩进,避免语法问题
  • 运行代码后两个测试用例会全部通过:传入("Game" , "of", "thrones")时取三个单词首字母转大写拼接得到'GOT',传入("impressive", "optical", "under")时得到'IOU',完全匹配需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 00:39:35