Rokcy 发表于 2025-12-10 10:47:19

@FishC “短路逻辑”最核心的描述是?
A. 自右向左逐个求值
B. 总是求值全部操作数
C. 能确定结果时停止求值
D. 只比较布尔值

Rokcy 发表于 2025-12-10 10:47:50

@FishC 关于 Python 运算符优先级,以下说法错误的是?
A. 乘法优先于加法
B. 比较运算符优先于 and
C. not 优先于 and
D. or 优先于 and

FishC 发表于 2025-12-10 10:48:22

Rokcy 发表于 2025-12-10 10:47
@FishC 关于 Python 运算符优先级,以下说法错误的是 ...

关于 Python 运算符优先级,错误的说法是 D. or 优先于 and。

解释如下:

A. 乘法优先于加法:正确,因为乘法运算符 * 的优先级高于加法运算符 +。

B. 比较运算符优先于 and:正确,例如 == 的优先级高于逻辑运算符 and。

C. not 优先于 and:正确,逻辑非 not 的优先级高于逻辑与 and。

D. or 优先于 and:错误,实际上逻辑与 and 的优先级高于逻辑或 or,所以 or 并不优先于 and。

在 Python 中,逻辑运算符的优先级顺序为:not > and > or。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

FishC 发表于 2025-12-10 10:49:14

Rokcy 发表于 2025-12-10 10:47
@FishC “短路逻辑”最核心的描述是?
A. 自右向左逐 ...

“短路逻辑”最核心的描述是:能确定结果时停止求值。

因此,正确答案是 C。

简单解释:短路逻辑是指在逻辑运算(如与、或)中,当第一个操作数已经能够决定整个表达式的结果时,就不再计算第二个操作数。例如,在表达式 a && b 中,如果 a 为假,则无论 b 是什么,结果都为假,因此不会计算 b。这提高了效率并允许一些有用的编程技巧。

其他选项分析:
A. 自右向左逐个求值:描述的是某些运算符的求值顺序,并非短路逻辑的核心。
B. 总是求值全部操作数:这与短路逻辑完全相反。
D. 只比较布尔值:逻辑运算涉及布尔值,但短路逻辑的关键在于求值的中止,而不只是布尔比较。

所以,最核心的描述是选项 C。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

穆然然然然 发表于 2026-1-5 11:46:58

@FishC 关于 Python 运算符优先级,以下说法错误的是?
A. 乘法优先于加法
B. 比较运算符优先于 and
C. not 优先于 and
D. or 优先于 and

FishC 发表于 2026-1-5 11:47:42

穆然然然然 发表于 2026-01-05 11:46
@FishC 关于 Python 运算符优先级,以下说法错误的是 ...

关于 Python 运算符优先级,以下说法错误的是?
A. 乘法优先于加法
B. 比较运算符优先于 and
C. not 优先于 and
D. or 优先于 and

错误选项是:D

解释:
Python 运算符优先级从高到低大致为:括号、幂运算、一元运算、乘除、加减、位移、按位运算、比较运算、逻辑非 not、逻辑与 and、逻辑或 or。因此:
- 乘法(*)优先于加法(+),A 正确。
- 比较运算符(如 <、==)优先于 and,B 正确。
- not 优先于 and,C 正确。
- and 优先于 or,所以 or 并不优先于 and,D 错误。

示例:
>>> 3 + 4 * 5# 乘法优先,结果为 23
>>> 1 < 2 and 3 > 4# 先比较再 and,结果为 False
>>> not True and False# not 优先,结果为 False
>>> True or False and False# and 优先于 or,结果为 True
最后一行中,and 先计算,表达式等价于 True or (False and False),因此为 True。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

HT_prandme 发表于 2026-1-18 16:46:09

@FishC not 1 < 2 的结果是?
A. True
B. False
C. 1
D. 2

FishC 发表于 2026-1-18 16:46:41

HT_prandme 发表于 2026-01-18 16:46
@FishC not 1 < 2 的结果是?
A. True
B. False
C. ...

@FishC not 1 < 2 的结果是?

答案:B. False

解释:在 Python 中,比较运算符 < 的优先级高于逻辑运算符 not。因此,表达式 not 1 < 2 会先计算 1 < 2,得到 True,然后执行 not True,最终结果为 False。

你可以通过以下代码验证:


>>> not 1 < 2
False


以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

HT_prandme 发表于 2026-1-18 16:54:47

@FishC not 1 < 2 的结果是?
A. True
B. False
C. 1
D. 2

FishC 发表于 2026-1-18 16:55:08

HT_prandme 发表于 2026-01-18 16:54
@FishC not 1 < 2 的结果是?
A. True
B. False
C. ...

表达式 not 1 < 2 在 Python 中的运算顺序为:先计算比较运算 1 < 2 得到 True,再计算 not True 得到 False。

因此,正确答案是 B. False。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

paopao102724485 发表于 2026-1-21 00:08:10

@FishC 下列表达式中,优先级最高的逻辑运算符是?
A. and
B. or
C. not
D. +

FishC 发表于 2026-1-21 00:08:33

paopao102724485 发表于 2026-01-21 00:08
@FishC 下列表达式中,优先级最高的逻辑运算符是?
A ...

在 Python 中,逻辑运算符的优先级顺序为:not > and > or。因此,优先级最高的逻辑运算符是 not。

选项 D 中的 + 是算术运算符,不属于逻辑运算符。

所以正确答案是 C。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

爱吹的牛 发表于 7 天前

@FishC True and False or True 的结果是?
A. True
B. False
C. None
D. 0

FishC 发表于 7 天前

爱吹的牛 发表于 2026-02-02 22:37
@FishC True and False or True 的结果是?
A. True
...

表达式 True and False or True 在 Python 中的运算结果为 True,因此正确答案是 A。

解释:逻辑运算符的优先级为 and 高于 or,因此表达式等价于 (True and False) or True。先计算 True and False 得到 False,再计算 False or True 得到 True。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

爱吹的牛 发表于 7 天前

@FishC 0 and 3 的结果是?
A. 0
B. 3
C. True
D. False

FishC 发表于 7 天前

爱吹的牛 发表于 2026-02-02 22:40
@FishC 0 and 3 的结果是?
A. 0
B. 3
C. True
D. ...

0 and 3 的结果是?
在 Python 中,and 运算符是短路运算符:从左到右求值,如果第一个操作数为假(falsy),则返回第一个操作数;否则返回第二个操作数。因为 0 是假值,所以 0 and 3 返回 0。

因此,正确答案是 A. 0。

验证代码:

>>> 0 and 3
0

注意:结果不是布尔值,所以不是 True 或 False。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: 1 2 3 [4]
查看完整版本: 第011讲:短路逻辑和运算符优先级