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

如何计算Python print语句中逻辑运算符的运算结果

两道Python代码输出题解答

第一题

代码

a=5
b=6 
print ((a and b) or (a>b))

推导过程

Python布尔运算遵循两个规则:一是短路逻辑,二是返回实际参与运算的对象,而非单纯的True/False;非0整数的布尔值默认为真。

  1. 先算括号内的a and b:左侧a=5为真,直接返回右侧b的值6
  2. 再算6 or (a>b):左侧6为真,直接返回6,右侧a>b(5>6为假)被短路不执行

输出结果

6

第二题

你手写的代码存在语法错误,print(c)和后续表达式之间漏掉了or运算符,对照原题修正后的代码如下:

a=4
b=6
c=10
print((a<=b) and print(c) or ((c==a) and (not(c<b))))

推导过程

额外补充:print()函数的返回值为None,布尔值为假。

  1. 先算a<=b:4<=6结果为True
  2. 再算True and print(c):左侧为真,执行右侧print(c)输出10,该部分最终返回print的返回值None
  3. 再算None or ((c==a) and (not(c<b))):左侧None为假,执行右侧表达式
  4. 右侧c==a:10==4结果为False,and运算左侧为假直接返回False,后续not(c<b)被短路不执行
  5. 整个表达式最终结果为False,被外层print输出

输出结果

10
False

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:57:01