当前位置: 首页 > 面试题库 >

在Python中,整数除法向零舍入的好方法是什么?

拓拔谭三
2023-03-14
问题内容
1/2

0

正如它应该。然而,

-1/2

-1

,但无论它是正数还是负数,我都希望它向0舍入(即,我希望-1/2为0)。最好的方法是什么?


问题答案:

进行浮点除法,然后转换为int。无需额外的模块。

Python 3:

>>> int(-1 / 2)
0
>>> int(-3 / 2)
-1
>>> int(1 / 2)
0
>>> int(3 / 2)
1

Python 2:

>>> int(float(-1) / 2)
0
>>> int(float(-3) / 2)
-1
>>> int(float(1) / 2)
0
>>> int(float(3) / 2)
1


 类似资料:
  • 我想要一个函数 例如,我们有, 或者在代码中,其中 和 是 32 位有符号整数: 这里有一个棘手的部分:如何有效地实现这一功能(不使用更大的64位值),并且不使用诸如

  • 问题内容: 我想计算一个可迭代对象满足给定条件的数量。我想以一种清晰,简单,最好是合理的方式进行操作。 我目前最好的想法是: 和 第一个是基于迭代器的,对于大列表来说可能更快。它与您用于测试任何和所有测试的表单相同。但是,这取决于int(True)== 1,这有点难看。 第二个对我来说似乎更容易阅读,但是它与任何和所有形式都不同。 有没有人有更好的建议?我缺少某处的库函数吗? 问题答案: 基于迭代

  • 问题内容: 您能帮我弄清楚这个Python部门吗 基数= 12.0 高度= 16 面积= 1/2 基础高度 解决方案对此表示 面积=(基数*高度)/ 2; 让我感到困惑的是1/2将是浮点数,而Python仅显示0而不是0.5,为什么在这种情况下解决方案显示/ 2 … 问题答案: Python2.7自动使用运算符作为整数(整数)除法,该运算符将始终产生整数。 例如: 1/2 = 0 3/4 = 0

  • 问题内容: 我只是写了一种微小的方法来计算手机短信的页数。我没有选择舍入使用,说实话,这看起来非常难看。 这是我的代码: 我真的不喜欢这段代码,我正在寻找一种更优雅的方法。有了这个,我期望是3,而不是3.0000000。有任何想法吗? 问题答案: 要舍入整数除法,您可以使用 或者两个数字都为正

  • 我知道Python向负无穷大舍入,而在C中,它正在截断,向0舍入。 到目前为止,我知道的是: 但是为什么Python选择向负无穷大进位呢?我没有找到任何资源来解释这一点,只是找到并听到人们含糊其辞地说:“出于数学原因”。 例如,为什么C中的-1/2计算为0,而Python中的-1 抽象地处理这些事情的人倾向于认为朝着负无穷大前进更有意义(这意味着它与数学中定义的模函数相兼容,而不是%具有某种有趣的

  • 我找到了两种方法: vs 哪一个更好,为什么,或者可能还有更多?