FishC 发表于 2025-9-29 05:11:33

ShwanLee 发表于 2025-09-29 05:10
@FishC 下面哪个表达式会返回 False?
A. 0.3 == 0.1 ...

正确答案是 A:表达式 0.3 == 0.1 + 0.2 会返回 False。

原因如下:

在 Python 中,浮点数计算存在精度问题。由于二进制表示的限制,0.1 + 0.2 的结果并不是精确的 0.3,而是一个略大于 0.3 的值(大约为 0.30000000000000004)。因此,当使用 == 进行比较时,结果为 False。

选项 B:0.3 < 0.1 + 0.2 会返回 True,因为 0.3 确实小于 0.1 + 0.2 的计算结果。

选项 C:0.3 只是一个浮点数,不是布尔表达式,因此它不会返回 True 或 False,而是直接返回数值 0.3。

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


# 测试表达式 A
print(0.3 == 0.1 + 0.2)# 输出 False

# 测试表达式 B
print(0.3 < 0.1 + 0.2)   # 输出 True

# 测试表达式 C
print(0.3)               # 输出 0.3,不是布尔值


因此,只有选项 A 返回 False。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: 1 [2]
查看完整版本: 第008讲:数字类型(上)