【问题标题】:Why am I getting output for -2//4 as -1? [duplicate]为什么我得到 -2//4 的输出为 -1? [复制]
【发布时间】:2019-01-20 23:18:16
【问题描述】:

我得到-1 作为-2//4 的输出。

print(-2//4)

【问题讨论】:

  • “根据 python,输出应为 0。” “根据 Python”是什么意思?你为什么期待结果0?你能引导我们完成这个思考过程吗?

标签: python python-3.x math integer floor


【解决方案1】:
-2 divided by 4 == -0.5

在 Python 3 中,// 运算符产生结果的下限

Floor 会将数字带到下一个较小的整数

您正在使用负数,因此 -1 小于 0

 -2 / 4
>> -0.5

 math.floor(-0.5)
>> -1

 -2 // 4
>> -1

【讨论】:

  • “在 Python 3 中,// 运算符在结果上调用 math.floor()” - 不,它没有。它产生除法的确切结果的底数,而不是在任何事情上调用math.floor。这很重要,因为要避免浮点舍入。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多