python3中1 // -2和int(1 / -2)的结果不同

时间:2018-01-13 23:17:22

标签: python-3.x

我看到了同一公式的2种不同分割方法的不同结果。

1 // -2会给-1

然而

int(1 / -2)会给0

我一直在搜索python划分问题,但没有看到任何与位置编号和负数之间的划分相关的内容。对此有何看法?

1 个答案:

答案 0 :(得分:1)

他们不做同样的事情。 //将结果置于intIn [251]: 1 / -2 Out[251]: -0.5 In [252]: 1 // -2 Out[252]: -1 向0舍入。差异微妙但重要。

In [253]: int(1 / -2)
Out[253]: 0

Versus,

int

差异更明显的是负数,其中0会围绕向上(因为它会向//舍入)而int n; cin >> n; vector<int> v(n); for (auto &a : v) { cin >> a; } (分层)轮次无论如何。