• Как работают операции // и % в Python для отрицательных чисел?

    @vohman Автор вопроса
    Я, конечно же, не дипломированный математик :)) как мне написали, но школьную математику я еще осилю ))
    По поводу округления и в какую сторону - этого нет в понятии целочисленного деления в математике, да и вроде как в Питоне для не отрицательных чисел такое округление не делается.
    К тому же -10/3 = -3.33333333.... и округление (раз мне предлагают им воспользоваться) будет в сторону -3 - это в математике. И так поступают в основном в других языках.

    Выходит, что в математике :
    (-10) "целочисленно разделить на" (3) равен (-4) ?
    Я всегда думал, что -10 div 3 равно в математике -3.
    ---------
    Допустим, я не знаю математику..
    Тогда на Си результат -10 div 3 будет -3 -1 ( Результат нижеприведенного кода: Quotient and remainder: -3 -1 )
    #include stdio.h
    #include stdlib.h
    int main(void)
    {
    div_t n;
    n = div(-10,3);
    printf("Quotient and remainder: %d %d\n", n.quot, n.rem);
    return 0;
    }

    На старом Pascal результатом -10 целочисленно разделить на 3 будет так же (-3)
    var result : integer;
    begin
    result := -10 div 3;
    writeln('Result = ', result);
    end.

    Почему же на Python результат ( -4 ) ? - нет, понятно, что считается он соответственно своего какого-то закона. Но как это быстро в голове посчитать согласно той формуле, что указана была мной выше?
    И на каком основании это деление считается в Питоне вот так а не "как обычно"?
    Ответ написан