In Python integer division has always rounded downwards, as if you used the floor function.
In C++03 the rounding direction was left to the compiler.
In C++11 and later it is required to be towards zero.
As I see it, the C++ rounding direction is more easy to understand for novices, since it gives the same kind of numerical result that you would calculate by hand. It also corresponds to how most computers implement integer division, i.e. is efficient at the level of individual operations. The Python rounding direction, on the other hand, is mathematically more elegant and more practically useful in programming.
One practical difference, illustrating the Pythonic elegance, is to compute how many cabs with capacity of 3 passengers you need for a party of 10 persons. In Python, -(-10//3)
. In C++, (10 + (3-1))/3
.