Python 3中的整数除法-带负数的奇怪结果
我是Python新手,现在正在学习操作符。 我明白:Python 3中的整数除法-带负数的奇怪结果,python,python-3.4,integer-division,Python,Python 3.4,Integer Division,我是Python新手,现在正在学习操作符。 我明白: /运算符用于浮点除法和 /用于整数除法 示例: 7//3 = 2 和7/-3=-3。为什么答案是-3 我被困在这里。/不是整数除法,而是地板除法: 7/-3 -> -2.33333... 7//-3 -> floor(7/-3) -> floor(-2.33333...) -> -3 更改除法运算符时: /操作员可以明确地请求楼层划分 另请参见(感谢)-基本上7//-3是-7//3,因此您希望能够编写: -7
运算符用于/
和浮点除法
用于/
整数除法
7//3 = 2
和7/-3=-3
。为什么答案是-3
我被困在这里。/
不是整数除法,而是地板除法:
7/-3 -> -2.33333...
7//-3 -> floor(7/-3) -> floor(-2.33333...) -> -3
更改除法运算符时:
/
操作员可以明确地请求楼层划分
另请参见(感谢)-基本上7//-3
是-7//3
,因此您希望能够编写:
-7 = 3 * q + r
使用
q
一个整数(负、正或nul)和r
一个整数,使得0/
是楼层分割的运算符
这意味着在除法完成后,应用“floor”函数(从除法中检索的值向下舍入到最接近的整数,而不管小数部分是大于还是小于0.5)
对于您的示例,请注意,对于否定答案,楼层分割运算符仍将向下舍入(例如-5/2-->-2.5-->-3)。另请参见5/-3
?@Kaushik5\\\-3
在python中不存在。如果你的意思是5//-3
,这与7//-3
的解释相同,因为-5=3*(-2)+1
。
-7 = 3 * (-3) + 2