You need to enable JavaScript to run this app. Python QuestionsMarks函数输出异常:测试用例结果不符问题排查
优惠活动
大模型
产品
解决方案
定价
更多

Python QuestionsMarks函数输出异常:测试用例结果不符问题排查

QuestionsMarks 函数逻辑错误排查

核心问题定位

1. 需求理解偏差

函数要求所有和为10的数字对都满足"中间恰好3个问号"的条件才返回"true",只要有一个符合求和规则的数字对不满足条件,就必须返回"false"。你的代码仅统计符合条件的数字对数量,只要存在至少1个符合的就返回"true",完全忽略了不符合的求和对。

2. 代码实现错误

  • 你将问号数量的判断逻辑写为 if counter >= 3:,但需求要求是恰好3个问号,数量大于3的情况也属于不符合要求。
  • 遍历数字对时没有设置"遇到不符合条件对就直接终止并返回false"的分支,仅累加符合的对的数量。
  • 代码末尾的 return strParam 属于不可执行的冗余逻辑,实际不会被触发。

测试输入"9???1???9??1???9"的执行分析

先提取该输入的所有数字序列(按出现顺序):9, 1, 9, 1, 9
所有相邻数字对的求和及中间问号数量如下:

  • 第1对:9 + 1 =10,中间3个问号 → 符合要求
  • 第2对:1 + 9 =10,中间3个问号 → 符合要求
  • 第3对:9 + 1 =10,中间仅2个问号 → 不符合要求
  • 第4对:1 +9=10,中间3个问号 → 符合要求

你的代码执行时,仅因前2对、第4对符合要求,累加true_counter至3,满足true_counter >=1的判断,就返回了"true",完全没有处理第3对不符合的情况。

修正参考方向

  1. 调整问号数量判断逻辑:将 counter >= 3 修改为 counter == 3
  2. 调整整体返回逻辑:
    • 遍历所有相邻数字对时,只要出现「和为10但问号数不为3」的对,直接返回"false"
    • 遍历完成后,确认至少存在1个和为10的有效数字对,才返回"true",否则返回"false"

内容的提问来源于stack exchange,提问作者Ng Jian Sheng

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.01 18:45:01