Почему -4//3=-2 ?

Anastasia

Новичок
Пользователь
Май 29, 2020
2
0
1
Почему -4//3=-2 ?
 

Vlad_SD

Активный пользователь
Пользователь
Апр 7, 2020
91
45
18
всё достаточно просто, оператор отбрасывает дробную часть и возвращает целое, прсто нужно понять как идёт сравнение для отрицательных чисел
вот пример:

4 / 3 = 1.3333333333333333
4 // 3 = 1 сравниваем с соседними целыми числами 1 < 1.3333333333333333 < 2

теперь отрицательные
-4 / 3 = -1.3333333333333333
- 4 // 3 = -2, снова посмотрим на соседние целые числа -2 < -1.3333333333333333 < -1

-1.3333333333333333 нужно еще +0.3333333333333333 чтобы иметь целую часть равную -1, следовательно целая часть это -2
 
Последнее редактирование:
  • Мне нравится
Реакции: Anastasia

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
Потому что при использовании оператора // python применяет к результату деления метод math.floor чтобы получить целочисленный результат. Этот метод округляет число в меньшую сторону, а так как -2 < -1 результатом будет -2.
 
  • Мне нравится
Реакции: Anastasia и Vlad_SD

Anastasia

Новичок
Пользователь
Май 29, 2020
2
0
1
Всем большое спасибо!:love:
 

Форум IT Специалистов