Это из-за целочисленного деления.В основном это означает, что если вы разделите два целых числа, полученное число должно быть целым числом.Так, например, 3/4
приведет к 0
, а 4/3
приведет к 1
.Это потому, что 3/4
в «реальной» математике даст вам 0,75, а чтобы превратить 0,75 в целое число, Python усекает значения с плавающей запятой и оставляет вам 0 *.4.0 вместо 4. Превращение целого числа в число с плавающей точкой и игнорирование целочисленного деления, поскольку целое число, деленное на число с плавающей точкой, приводит к плавающему числу.3/4.0
равно 0.75
, как вы хотите.