Python3异常处理:HackerRank ValueError编程题测试用例失败排查
问题排查与修正方案
- 核心错误:输出内容不符合题目要求
题目明确要求所有异常条件都不满足时打印All values in range,你的代码实际输出All in range.,二者内容不匹配,直接触发测试用例判定失败。 - 次要可优化点:异常信息格式不统一
你抛出的第二个ValueError提示信息末尾缺少句号,若测试用例要求异常输出完全匹配,也会导致对应用例失败。 - 可选排查点:输入读取顺序
若题目要求先读取参数b再读取参数a,你当前的赋值顺序会导致两个参数取值颠倒,触发边界用例判断错误,错误进入else分支输出内容。
修正后代码
def handle_excl(): a = int(input()) b = int(input()) sums = a + b if (a > 150) or (b < 100): raise ValueError('Input integers value out of range.') elif sums > 400: raise ValueError('Their sum is out of range.') else: print('All values in range')
如果调整后仍有边界用例失败,可以检查题目规则的边界判定要求,确认是否应为a >= 150、b <= 100、sums >= 400的判定逻辑。
内容的提问来源于stack exchange,提问作者isilia
相关产品推荐
相关产品推荐

