鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: 小甲鱼

[快问快答] 第008讲:数字类型(上)

[复制链接]
发表于 2025-9-29 05:11:33 | 显示全部楼层
零基础入门学习Python封面
《零基础入门学习Python》
(最新版)
小甲鱼 著
立即购买
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。

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


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

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

  5. # 测试表达式 C
  6. print(0.3)               # 输出 0.3,不是布尔值
复制代码


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-9 12:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表