Почему python по умолчанию разделено на этаж, когда я использую только один sla sh? - PullRequest
1 голос
/ 03 мая 2020

Когда я печатаю обычное деление, по умолчанию используется слово floor. Почему он это делает? Как я могу изменить это? Я должен буду изменить это каждый раз?

пример:

>>>97/20
4 
>>>97//20
4

Ответы [ 3 ]

3 голосов
/ 03 мая 2020

Это потому, что оба числа являются целыми числами, а в Python 2 это работает следующим образом: деление двух целых чисел использует деление по полу. Вы могли бы увидеть разницу, если бы вы сделали это:

>>>97.0/20.0
4.85
>>>97.0//20.0
4.0
2 голосов
/ 03 мая 2020

Вы используете Python2. Поведение при делении целых чисел по умолчанию изменилось на деление с плавающей точкой в ​​Python3. Поэтому, если вы хотите, чтобы по умолчанию для целых чисел делилось число с плавающей точкой, используйте Python3 или поместите

from __future__ import division

вверху кода, чтобы использовать эту функцию.

На самом деле, есть много причин, почему вероятно, лучше начать использовать Python3 сразу.

2 голосов
/ 03 мая 2020

Похоже, вы используете python 2.x, это не проблема с python 3.x

Если вы хотите получить точный результат, используйте 97 / 20.0.

Добавление 20.0 приведет к приведению типа к плавающей запятой

...