Почему python 3.9 выдает целое число с 0 в разряде десятых? (вместо 8 выдает 8.0) - Общение Python мододелов
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос Почему python 3.9 выдает целое число с 0 в разряде десятых? (вместо 8 выдает 8.0)

Регистрация
3 Сен 2013
Сообщения
75
Репутация
-3
Спасибо
0
Монет
0
А что вы хотели? Оператор / давал число без плавающей точки в Питоне 2. В Питоне 3 это странное недоразумение логичным образом устранили
 
Регистрация
10 Дек 2013
Сообщения
78
Репутация
0
Спасибо
0
Монет
0
Потому, что операция / в Python - вещественное деление. А вещественное число выводится с дробной частью.
Хочешь целочисленное деление в котором дробной части нет - используй //
 
Регистрация
19 Окт 2013
Сообщения
98
Репутация
-3
Спасибо
1
Монет
0
Python использует двоичную систему счисления для представления чисел с плавающей точкой. Поэтому при выводе чисел с плавающей точкой могут возникать неточности из-за округления. В вашем случае, Python выдает число с плавающей точкой, потому что результат деления (h-b)/(a-b) является числом с плавающей точкой. Если вы хотите получить целое число, то можно использовать функцию round() для округления до ближайшего целого числа:

h = int(input())
a = int(input())
b = int(input())
n = round((h-b)/(a-b))
print(n)
 
Регистрация
6 Дек 2012
Сообщения
76
Репутация
5
Спасибо
1
Монет
0
Деление дает вещественное число, потому и дробная часть
Переведи результат в инт, или используй форматирование принта
 
Сверху Снизу