猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
负整数除法令人惊讶的结果
负整数除法令人惊讶的结果
在我的应用程序中,我遇到了以下结果,并对结果感到惊讶:
8/-7=-2
(两个整数)。
这意味着什么?
互换的青春
浏览 592
回答 3
3回答
一只斗牛犬
对于实际值,即8.0/(-7.0)结果是粗略的-1.143。使用整数除法的结果将向下舍入为更负值-2。(这也被称为“地板部门”)这就是为什么你会得到一些有些令人困惑的答案:>>> 8/(-7) -2 >>> 8/7 1注意:这在Python 3中是“固定的”,其结果8/(-7)将是-1.143。因此,如果您没有理由使用Python 2,则应升级。;)在Python 3中,如果您仍想要整数除法,则可以使用//运算符。这将给你与8/(-7)Python 2中相同的答案。以下是关于该主题的Python增强建议:PEP 238 - 更改分部操作员
0
0
0
jeck猫
Python总是对负数除法和正数除法进行“底层划分”。那是1/10 = 01/-10 = -1但有时我们需要1 / -10为0我发现它可以通过先使用float division然后将结果转换为int来完成,例如int(float(1)/-10) = 0这对我来说很好,不需要导入未来的部门或升级到Python 3希望它可以帮到你〜
0
0
0
炎炎设计
要让python自动将整数除法转换为float,可以使用:from __future__ import division现在:8/-7=-1.1428571428571428此功能不在标准python 2中,不会破坏依赖于整数除法的现有代码。但是,这是python 3的默认行为
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Python
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续