在python编程里, print 4> 2 and 1 and 4 输出的是什么? 5

 我来答
百度网友023b1c3
科技发烧友

2020-08-02 · 智能家居/数码/手机/智能家电产品都懂点
知道小有建树答主
回答量:1086
采纳率:84%
帮助的人:285万
展开全部

题主你好,

先说结果: 该表达式输出为整数: 4

下面详细的解释一下为什么输出的是:4.

首先我们看 4 > 2 这是一个逻辑表达式, 而逻辑表达式的值为True或False, 显然4 > 2成立, 所以单说 4 > 2这个逻辑表达式返回值为True.因此我们可以将 4 > 2 and 1 and 4变个形式:

    True and 1 and 4

而and 和or属于布尔运算符, 也就是说现在完全变成了python中布尔运算了, 因为我们只需要知道python中布尔运算的逻辑即可, 下面我们看一下官方文档中对布尔运算的相关说明:

简单说下上图主要描述的内容:

    a. 在布尔运算中, False, None, 0,空字符串 和容器都被解释为false; 其它值都被解释为true.

    b. x and y的运算过程是: 先评估x, 如果x被评估为false,则x and y的值就是x; 如果x被评估为true,则x and y的值为y.

    c. x or y的运算过程是: 还是先评估x,如果x被评估为true,则x or y的值就是x; 如果x被评估为false,则 x or y的值为y.

------------

知道了上面三条规则(如果只限定题主所提问题, 只需要看a,b两项即可,即知道哪些值被认为是false,哪些值被认为是true;还有布尔运算符and的运算规则),下面我们可以切入题主的问题了:

4 > 2 and 1 and 4   先过算4 > 2这个逻辑表达式,得到逻辑值True,因此上面这个表达式变成了:

    True and 1 and 4

根据上面b中所说的and运算规则, 首先计算:

   True and 1

我们还用x和y去表示,因为x的值为True,被评估为true,所以该表达式的值就是y,也就是1,到此整个表达式运算下来后,变成了:

    1 and 4

再照着上面True and 1的运算逻辑去看, 因为 x的值为1,被评估为true,所以该表达式的值为y,也就是4.

因此  4 > 2 and 1 and 4 运算下来的结果是: 4.

希望可以帮到题主, 欢迎追问.

futurezV1
2020-08-07 · TA获得超过254个赞
知道小有建树答主
回答量:548
采纳率:73%
帮助的人:130万
展开全部
这个等价于python3语句: print( 4> 2 and 1 and 4 )
这个表达式中:4> 2 and 1 and 4,比较符号>的优先级大于逻辑运算符号and,
所以等价于这个: ((4>2) and 1) and 4)
4>2结果为True, 则为:(True and 1) and 4)
根据逻辑运算规则:True and 1 = 1, 1 and 4 = 4
所以最终结果为4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2020-08-02
展开全部

这个是 python 2 吧

Python3 里  print 需要括号


输出的是 4

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式