FERW 发表于 2025-10-18 10:50:41

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

FishC 发表于 2025-10-18 10:51:21

FERW 发表于 2025-10-18 10:50
@FishC 0 or 4 的结果是?
A. 0
B. 4
C. True
D....

答案:B. 4

在Python中,逻辑运算符 or 会返回第一个为真(truthy)的操作数,如果所有操作数都为假(falsy),则返回最后一个操作数。这里,0 是假值,4 是真值,因此 0 or 4 的结果是 4。

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

FERW 发表于 2025-10-18 11:08:23

@FishC 关于 Python 中的 and 和 or 运算符,以下说法正确的是?
A. 它们都遵循短路逻辑
B. 它们总会计算所有操作数
C. 它们不支持短路逻辑
D. 它们只能用于布尔值

FishC 发表于 2025-10-18 11:09:03

FERW 发表于 2025-10-18 11:08
@FishC 关于 Python 中的 and 和 or 运算符,以下说法 ...

正确答案是 A. 它们都遵循短路逻辑。

解释:
在 Python 中,and 和 or 运算符都遵循短路逻辑(short-circuit evaluation),这意味着它们不会总是计算所有操作数:
- 对于 and:如果第一个操作数为假(False),则直接返回第一个操作数,不会计算第二个操作数。
- 对于 or:如果第一个操作数为真(True),则直接返回第一个操作数,不会计算第二个操作数。

因此,选项 B 和 C 是错误的。此外,这些运算符可以用于任何类型的值(不限于布尔值),所以选项 D 也是错误的。

示例代码:

# and 运算符短路示例
x = 0
y = 5
result1 = x and y# 由于 x 为假,直接返回 x,不计算 y
print(result1)# 输出 0

# or 运算符短路示例
result2 = x or y   # 由于 x 为假,计算 y 并返回 y
print(result2)# 输出 5


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

qwerty2200 发表于 2025-11-6 10:26:54

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

FishC 发表于 2025-11-6 10:27:32

qwerty2200 发表于 2025-11-06 10:26
@FishC 0 and 3 的结果是?
A. 0
B. 3
C. True
D. ...

答案:A. 0

解释:在Python中,逻辑运算符 and 的行为是:如果第一个操作数为假值(如 0),则返回第一个操作数;否则返回第二个操作数。由于 0 是假值,因此 0 and 3 返回 0。

代码示例:

print(0 and 3)# 输出 0


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

七月py 发表于 2025-11-7 14:34:38

{:5_109:}

jinzhao666 发表于 2025-11-17 20:59:52

打卡第011讲:短路逻辑和运算符优先级

LMo 发表于 2025-11-25 11:33:20

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

FishC 发表于 2025-11-25 11:34:21

LMo 发表于 2025-11-25 11:33
@FishC 下列表达式中,优先级最高的逻辑运算符是?
A ...

答案:C. not

在Python中,逻辑运算符的优先级从高到低依次为:not > and > or。因此,not 是优先级最高的逻辑运算符。选项D + 是算术运算符,不属于逻辑运算符。

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

LMo 发表于 2025-11-25 11:34:28

@FishC 以下哪个表达式先进行加法运算?
A. 1 + 2 > 3 - 4
B. 1 + (2 > 3) - 4
C. 1 + 2 * 3
D. 1 - 2 and 3 + 4

FishC 发表于 2025-11-25 11:36:20

LMo 发表于 2025-11-25 11:34
@FishC 以下哪个表达式先进行加法运算?
A. 1 + 2 >...

答案:A

在 Python 中,运算符优先级决定了运算顺序。以下是每个选项的分析:


[*] 选项 A:表达式 1 + 2 > 3 - 4 中,比较运算符 > 的优先级低于算术运算符 + 和 -,因此先计算 1 + 2(加法)和 3 - 4,其中加法运算最先进行。
[*] 选项 B:表达式 1 + (2 > 3) - 4 中,括号内的比较运算 2 > 3 先计算,然后进行加法。
[*] 选项 C:表达式 1 + 2 * 3 中,乘法运算符 * 的优先级高于加法,因此先计算 2 * 3,然后进行加法。
[*] 选项 D:表达式 1 - 2 and 3 + 4 中,逻辑运算符 and 的优先级低于算术运算符,因此先计算左操作数 1 - 2(减法),然后计算右操作数 3 + 4(加法)。


因此,只有选项 A 中加法运算最先进行。

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

40岁学编程 发表于 2025-12-1 21:50:08

@FishC 关于 Python 中的 and 和 or 运算符,以下说法正确的是?
A. 它们都遵循短路逻辑
B. 它们总会计算所有操作数
C. 它们不支持短路逻辑
D. 它们只能用于布尔值

FishC 发表于 2025-12-1 21:50:39

40岁学编程 发表于 2025-12-01 21:50
@FishC 关于 Python 中的 and 和 or 运算符,以下说法 ...

关于 Python 中 and 和 or 运算符的正确说法是 A。

详细说明如下:

A. 它们都遵循短路逻辑
正确。and 和 or 是短路运算符。
*   and:如果第一个操作数为 False(或逻辑假值),则直接返回该值,不再计算第二个操作数。
*   or:如果第一个操作数为 True(或逻辑真值),则直接返回该值,不再计算第二个操作数。

B. 它们总会计算所有操作数
错误。这正是短路逻辑要避免的情况,如上所述。

C. 它们不支持短路逻辑
错误。Python 的 and 和 or 明确支持短路逻辑。

D. 它们只能用于布尔值
错误。and 和 or 可以用于任何类型的操作数。它们返回的是操作数的值本身,而不是强制转换为布尔值。
例如:

result = 3 and 5# 返回 5,因为 3 为真,继续计算并返回第二个操作数 5
print(result)

result = 0 or 10# 返回 10,因为 0 为假,继续计算并返回第二个操作数 10
print(result)


所以,本题的正确答案是 A。

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

mumusanhu 发表于 4 天前

万水千山走遍 发表于 2025-7-17 22:51
为啥快问快答里的not 的优先级比+高了?

同问

LZzz_Snail 发表于 3 天前

Rokcy 发表于 前天 10:45

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

FishC 发表于 前天 10:46

Rokcy 发表于 2025-12-10 10:45
@FishC True and False or True 的结果是?
A. True
...

答案:A. True

解释:在 Python 中,逻辑运算符 and 的优先级高于 or,因此表达式 True and False or True 被解析为 (True and False) or True。先计算 True and False 得到 False,然后计算 False or True 得到 True,所以最终结果为 True。

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

Rokcy 发表于 前天 10:46

@FishC 关于 False or 0 or 4 or 6 or 9,其值是?
A. 0
B. 4
C. 6
D. 9

FishC 发表于 前天 10:47

Rokcy 发表于 2025-12-10 10:46
@FishC 关于 False or 0 or 4 or 6 or 9,其值是?
A ...

表达式 False or 0 or 4 or 6 or 9 在 Python 中,or 运算符会从左到右求值,并返回第一个为真(Truthy)的值。其中 False 和 0 被视为假(Falsy),而 4 是非零整数,被视为真(Truthy),因此表达式短路返回 4。

答案:B. 4

如果需要验证,可以运行以下代码:


print(False or 0 or 4 or 6 or 9)# 输出 4


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