@nicker21

При вычитании числа получается неверный ответ?

num1 = float(input('Введите число:'))
num2 = float(0.013*100.0)
num3 = float(num1-num2)
num4 = float(num3*28)
print(round(num4,2))

По факту должно получится 121.8
А получается 103.6
Я понимаю что проблема с float ? как ее решить
Спасибо большое
  • Вопрос задан
  • 161 просмотр
Решения вопроса 1
MinTnt
@MinTnt
Перефразую сократив вычислений:
num1 = float(input('Введите число:'))
#Учитывая что судя по всему раз вышло 103.6, вы ввели 5
num2 = float(1.3) #Т.к. 0.013 * 100.0 всегда будет иметь это значения
num3 = float(5 - 1.3)
num4 = float( 28*(5 - 1.3) ) #И выходит по итогу..
print(round(num4,2)) #103.8


А чтоб вышло 121.8, нужно так было:
num1 = float(input('Введите число:'))
num2 = float(0.0013 * float(num1) * 100.0)
num3 = float(num1-num2)
num4 = float(num3*28)
print(round(num4,2))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
По факту должно получится 121.8

По какому факту?

В столбик посчитайте, господи
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы