【问题标题】:Python Why // gives different (absolute) value when applied on negative numbers versus positive [duplicate]Python为什么//在应用于负数和正数时给出不同的(绝对)值[重复]
【发布时间】:2020-09-06 20:43:11
【问题描述】:

对不起,如果问题太琐碎,有什么区别:

代码

print(14//3)  = 4 
print(-14//3) =-5 

【问题讨论】:

  • 文档是怎么说的?
  • // 是地板操作员,所以向负/降低舍入
  • 这可能是微不足道的,但我不得不承认,我希望它的行为类似于int(-14 / 3),即向零舍入。学到了一些新东西。

标签: python


【解决方案1】:

// 是 Python 中的楼层除法,因此有区别:

 14//3 = floor( 4.6666) =  4
-14//3 = floor(-4.6666) = -5

作为docs 状态:

/(除法)和 //(下除法)运算符产生其参数的商。数字参数首先转换为通用类型。整数除法产生浮点数,而整数的下除法产生整数;结果是数学除法的结果,“地板”函数应用于结果。除以零引发 ZeroDivisionError 异常。

【讨论】:

    猜你喜欢
    • 2015-10-10
    • 1970-01-01
    • 2020-09-29
    • 1970-01-01
    • 1970-01-01
    • 2014-01-09
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多