Python 中的舍入是如何工作的?

2024-03-17

我对 Python 中舍入的工作原理有点困惑。
有人能解释一下为什么Python会这样吗?

Example:

>>> round(0.05,1) # this makes sense
0.1
>>> round(0.15,1) # this doesn't make sense! Why is the result not 0.2?
0.1

同样适用于:

>>> round(0.25,1) # this makes sense
0.3
>>> round(0.35,1) # in my opinion, should be 0.4 but evaluates to 0.3
0.3

Edit:所以一般来说,Python有可能是向下舍入而不是向上舍入。那么我是否可以理解,唯一可能发生的“异常”事情是Python向下舍入?或者它也可能由于存储方式而“异常”四舍五入? (我还没有发现Python在我期望它向下取整时向上取整的情况)


这实际上是设计使然。来自Python文档 https://docs.python.org/2/library/functions.html#round:

的行为round()对于浮点数可能会令人惊讶:例如,round(2.675, 2)给出 2.67 而不是预期的 2.68。这不是一个错误:这是因为大多数小数不能精确地表示为浮点数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 中的舍入是如何工作的? 的相关文章

  • 使用单个文件的 Python 日志记录(函数名、文件名、行号)

    我正在尝试了解应用程序的工作原理 为此 我将调试命令插入作为每个函数主体的第一行 目的是记录函数的名称以及向日志输出发送消息的行号 代码内 最后 由于这个应用程序由许多文件组成 我想创建一个日志文件 以便我可以更好地理解应用程序的控制流 这
  • 分配列表的多个值

    我很想知道是否有一种 Pythonic 方式将列表中的值分配给元素 为了更清楚 我要求这样的事情 myList 3 5 7 2 a b c d something myList So that a 3 b 5 c 7 d 2 我正在寻找比手
  • 为什么 pandas 在简单的数学运算上比 numpy 更快?

    最近 我观察到 pandas 的乘法速度更快 我在下面的例子中向您展示了这一点 如此简单的操作怎么可能做到这一点 这怎么可能呢 pandas 数据帧中的底层数据容器是 numpy 数组 测量 我使用形状为 10k 10k 的数组 数据框 i
  • 如何在 QTableView 标题中单击鼠标右键单击上下文菜单?

    下面的示例代码 很大程度上受到here http www saltycrane com blog 2007 12 pyqt 43 qtableview qabstracttablemodel 有一个右键单击上下文菜单 当用户单击表中的单元格
  • 高效地将大型 Pandas 数据帧写入磁盘

    我正在尝试找到使用 Python Pandas 高效地将大型数据帧 250MB 写入磁盘或从磁盘写入的最佳方法 我已经尝试了所有方法Python 数据分析 但表现却非常令人失望 这是一个更大项目的一部分 该项目探索将我们当前的分析 数据管理
  • 如何使用我自己的自定义表单覆盖 django-rest-auth 中的表单?

    我正在使用 django rest auth 并尝试通过覆盖表单的方法之一来修复密码重置视图中的错误 尽管我已经使用不同的 django rest auth 表单成功完成了类似的操作 但我无法让它在这个表单上工作 无论我做什么 都会使用旧的
  • 如何使用 python、openCV 计算图像中的行数

    我想数纸张 所以我正在考虑使用线条检测 我尝试过一些方法 例如Canny HoughLines and FLD 但我只得到处理过的照片 我不知道如何计算 有一些小线段就是我们想要的线 我用过len lines or len contours
  • 将多索引转换为行式多维 NumPy 数组。

    假设我有一个类似于以下示例的 MultiIndex DataFrame多索引文档 http pandas pydata org pandas docs stable advanced html gt gt gt df 0 1 2 3 fir
  • dask apply:AttributeError:“DataFrame”对象没有属性“name”

    我有一个参数数据框 并对每一行应用一个函数 该函数本质上是几个 sql queries 和对结果的简单计算 我正在尝试利用 Dask 的多处理 同时保持结构和界面 下面的例子有效并且确实有显着的提升 def get metrics row
  • Django Web 应用程序中的 SMTP 问题

    我被要求向使用 Django Python 框架实现的现有程序添加一个功能 此功能将允许用户单击一个按钮 该按钮将显示一个小对话框 表单以输入值 我确实编写了一些代码 显示电子邮件已发送的消息 但实际上 它没有发送 My code from
  • Django 1.7 应用程序配置导入错误:没有名为 appname.apps 的模块

    我正在尝试按照以下文档为我的一个名为 文章 的 Django 应用程序设置自定义应用程序配置https docs djangoproject com en dev ref applications https docs djangoproj
  • 预测测试图像时出现错误 - 无法重塑大小数组

    我正在尝试使用 TensorFlow 和 Keras 在 Python 中进行图像识别 并且我已经关注了下面的博客 https stackabuse com image recognition in python with tensorfl
  • Python 或 C 语言中的 Matlab / Octave bwdist()

    有谁知道 Matlab Octave bwdist 函数的 Python 替代品 此函数返回给定矩阵的每个单元格到最近的非零单元格的欧几里得距离 我看到了一个 Octave C 实现 一个纯 Matlab 实现 我想知道是否有人必须用 AN
  • 重定向 python 交互式帮助()

    我正在为使用 Qt 的应用程序开发交互式 python shell 但是我似乎无法获得重定向的交互式帮助 我的 python 代码中有这个 class OutputCatcher def init self self data def wr
  • 在 anaconda 环境下运行 qsub

    我有一个程序 通常在 Linux 的 conda 环境中运行 因为我用它来管理我的库 指令如下 source activate my environment python hello world py 我怎样才能跑你好世界 py在与 PBS
  • 旧版本的 spaCy 在尝试安装模型时抛出“KeyError: 'package'”错误

    我在 Ubuntu 14 04 4 LTS x64 上使用 spaCy 1 6 0 和 python3 5 为了安装 spaCy 的英文版本 我尝试运行 这给了我错误消息 ubun ner 3 NeuroNER master src pyt
  • 使用 Numpy 进行多维批量图像卷积

    在图像处理和分类网络中 一个常见的任务是输入图像与一些固定滤波器的卷积或互相关 例如 在卷积神经网络 CNN 中 这是一种极其常见的操作 我已将通用版本任务减少为 Given 一批 N 个图像 N H W D 和一组 K 个滤镜 K H W
  • 如何在supervisord中设置组?

    因此 我正在设置 Supervisord 并尝试控制多个进程 并且一切正常 现在我想设置一个组 以便我可以启动 停止不同的进程集 而不是全部或全无 这是我的配置文件的片段 group tapjoy programs tapjoy game1
  • python 日志记录替代方案 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 蟒蛇记录模块 http docs python org library logging html使用起来
  • 当训练和测试的特征数量不同时,如何处理生产环境中的One-Hot Encoding?

    在做某些实验时 我们通常在 70 上进行训练 在 33 上进行测试 但是 当您的模型投入生产时会发生什么 可能会发生以下情况 训练集 Ser Type Of Car 1 Hatchback 2 Sedan 3 Coupe 4 SUV 经过

随机推荐

  • 向 f.submit 添加一个类但保留默认功能?

    非常简单的问题 我有 我要申请class btn 到它 我知道我可以轻松地做到这一点 但是 我如何实现同样的事情 即应用一个类而不指定按钮的静态名称 换句话说 鉴于我在部分表单中执行此操作 我希望按钮的名称根据所调用的操作 即新建 创建 更
  • Java 8 BufferedReaderlines()方法打印不同的计数

    我遇到了使用lines 方法计算行号的问题BufferedReader 以下是内容test txt file 1 Career 2 Filmography 3 Awards 4 References 5 External 这是计算行数两次的
  • Discord.py 检查用户是否对特定表情符号做出反应

    我想知道是否有办法检查某人是否有反应specific使用 Discord py 的表情符号 下面的命令将回复一条消息 然后等待 smile or custom emoji 对该消息的反应 from discord utils import
  • GraphQL 解析器参数的顺序错误(根、参数、上下文)

    我想知道为什么我的参数似乎在我的 GraphQL 解析器中发生了变化 我正在使用express graphql 一个解析器的示例 getLocalDrivers async parent args ctx gt console log ct
  • 访问 Kubernetes clusterIP 服务请求超时

    我正在寻求帮助来解决这个无法正常工作的基本场景 安装了三个节点kubeadm on VirtualBox 虚拟机在 MacBook 上运行 sudo kubectl get nodes NAME STATUS ROLES AGE VERSI
  • 地理编码器 grpc 失败

    上个月 地理编码器每次都开始失败 出现 grpc failed 错误 我似乎无法解决它 我看过java io IOException grpc 失败 https stackoverflow com questions 45012289 ja
  • 是否可以在设置应用程序中动态更改 iPhone 应用程序的设置页面?

    对于我正在开发的 iPhone 应用程序 我希望能够动态添加或删除应用程序设置区域的部分 理想情况下 我希望能够更改多值说明符中的选项列表 并添加可深入到一个设置页面的副本的新行 我没有在苹果文档中看到任何关于此的内容 但是编译后是否可以更
  • CSS3 - 添加类来触发动画并在完成时删除类

    我有一个 div 当我单击它时 jquery 会添加一个启动动画运行的类 当动画停止时 3 秒后 我希望删除该类 以便再次单击 div 时动画将重新开始 这只是测试 目前仅限 Chrome 浏览器 这是我的 CSS3 spin360 web
  • DataGrid 是 UWP 的替代品吗?

    我正在开发一个 UWP 应用程序 该应用程序应该在 PC 和平板电脑上使用 并在稍后的手机上使用精简版 在 PC 上 我想在两列中提供数据 在移动设备上 我打算隐藏其中一列 或者我将创建一个不同的页面 具体取决于用户的操作 我需要的功能是
  • 如何在打字稿中执行 document.getElementById().value 之类的操作?

    我有一些代码 其中包含一个反应表单 其中包含类似以下内容
  • mysql 5.7在中型sql中比mysql 5.6慢很多

    我们正在升级到 mysql 5 7 只是发现它比 5 6 版本慢得多 虽然两者具有几乎相同的配置 但 5 6 版本以毫秒为单位执行大部分 sql 而另一个版本则需要大约 1 秒或更长的时间来执行中等复杂的 sql 例如下面的 SQL Get
  • flask_sqlalchemy create_all 无需导入模型

    我想了解如何设置一个独立的脚本来调用create all无需将我的所有模型导入其中 以下是相关文件 db py from flask sqlalchemy import SQLAlchemy db SQLAlchemy test model
  • 获取 mysqldump 转储适合 psql 输入的数据(转义单引号)

    我正在尝试将数据库从 MySQL 移植到 PostgreSQL 我已经在 Postgres 中重建了架构 所以我需要做的就是获取数据 而不需要重新创建表 我可以使用迭代所有记录并一次插入一条记录的代码来完成此操作 但我尝试了这一点 但对于我
  • 默认使用哪个 Google 地图 API 版本?

    如果您不指定版本号 则使用哪个版本的 Google Maps API 也许是最新的发行版本 这有关版本控制的文档 https developers google com maps documentation javascript basic
  • Python - 释放/替换字符串变量,如何处理?

    假设我将密码以纯文本形式存储在名为的变量中passWd作为字符串 一旦我放弃这个变量 python如何释放它 例如 使用del passWd or passWd new random data 字符串是否存储为字节数组 这意味着它可以在最初
  • 类库和命名空间有什么区别?

    类库和命名空间之间的实际区别是什么 我知道两者都用于将类 命名空间等分组在一起 任何人都可以告诉我在哪种情况下应该使用类库以及何时创建新的命名空间 命名空间为类提供了概念上的分离 类库提供了物理上的分离 在 Windows 中认为是独立的
  • 导入错误:没有名为 model_selection 的模块

    我正在尝试使用train test split函数并写 from sklearn model selection import train test split 这导致 ImportError No module named model s
  • 在facet_wrap中绘制平均线

    我有以下数据集 structure list Geschaeft c 0 0961028525512254 0 0753516756309475 0 0 0722803347280335 0 0 000877706260971328 Gas
  • Pandaboard 交叉编译 Qt

    我花了几周的时间尝试为我的 Panda 板交叉编译 Qt 但没办法 我无法通过 configure 如果有人能给我帮助 我将不胜感激 我的主机系统是Ubuntu 13 04 86 64位 在Virtualbox中运行 我的目标系统是 Pan
  • Python 中的舍入是如何工作的?

    我对 Python 中舍入的工作原理有点困惑 有人能解释一下为什么Python会这样吗 Example gt gt gt round 0 05 1 this makes sense 0 1 gt gt gt round 0 15 1 thi