Python代码疑问:为何执行if True语句,而非预期的if False?
问题分析与解决
- 你写的
2+3 == 2计算结果确实是False,但这行代码只是单独执行了一次判断,没有和后续的if语句建立关联,相当于完全没用到这个结果。 - 你的第一个if语句直接写了
if True:(注意Python关键字if必须小写,写成If会触发语法错误,这里默认是你笔误),这个条件是硬编码的布尔值True,所以不管其他逻辑,这个分支一定会执行,因此输出"yes"。 - 第二个if语句用了
if False:,条件永远不成立,所以不会执行,自然不会输出"no"。
如果要让程序根据2+3 == 2的结果输出,正确写法可以是:
# 直接把判断表达式作为if条件 if 2+3 == 2: print("yes") else: print("no")
或者先把结果存起来再判断:
# 先保存判断结果 is_equal = 2+3 == 2 if is_equal: print("yes") if not is_equal: print("no")
内容的提问来源于stack exchange,提问作者Kim-noor
相关产品推荐
相关产品推荐

