Python整数状态判断代码出现运行时错误,请求排查解决
问题排查与修复
核心问题分析
布尔输入转换错误:
直接用bool(input())处理布尔输入会出错——Python中所有非空字符串都会被转为True,哪怕输入的是"False"。比如输入"False"时,bool("False")返回的是True,完全不符合预期的布尔值逻辑。判断逻辑不完整:
你的代码仅实现了题目要求的一种返回True的场景(a和b均为负且flag为True),完全遗漏了另一种核心场景:a或b非负且flag为False。
修复后的代码
a = int(input()) b = int(input()) # 正确处理布尔输入:将输入转为小写后匹配判断 flag = input().strip().lower() == "true" def check_status(a, b, flag): # 实现题目要求的两种合法条件 condition1 = (a >= 0 or b >= 0) and not flag condition2 = (a < 0 and b < 0) and flag return condition1 or condition2 # 调用函数并输出结果 print(check_status(a, b, flag))
示例验证
输入:
1 -1 False
输出:True,完全符合题目要求。
内容的提问来源于stack exchange,提问作者Vishant Mehta
相关产品推荐
相关产品推荐

