2016-09-22 3 views
-1

Мне нужно сделать программу рисования, которая округляется до следующего галлона, однако у меня проблема. Когда все сказанное сделано, допустим, высота равна 96, ширина 240, а длина - 200, она равна 919 футам. Вычтите несколько стен и окон, и у меня 832 квадратных фута. Теперь я делю это на 200, и это дает мне 4.3, но я не могу иметь 4,3 галлона краски, мне нужно округлить до 5. Код ниже, хотя и округлить его до 4. Его, вероятно, очень просто и легко исправить, но любая помощь?Округление значения до следующего int

primer_area = (2*(length * height) + 2*(width*height))/144 
    primer_needed = (primer_area + result - door_area - window_area)/200 
    # The primer is then rounded up to the next gallon 
    primer = primer_needed 
    primer = math.ceil(primer) 
+1

'math.ceil' должен делать именно то, что тебе нужно. Сделайте 'print (primer)' перед 'math.ceil (primer)' и убедитесь, что номер, который вы ему даете, выше 4 –

+0

. Можете ли вы отредактировать свой код, чтобы включить фактические значения 'length',' height' и т. Д. , чтобы мы могли запускать код на наших машинах? См. Http://stackoverflow.com/help/mcve –

+0

длина, высота и т. Д. - все код ввода. height = int (input («Пожалуйста, введите высоту комнаты в дюймах:»)) width = int (вход («Пожалуйста, введите ширину комнаты в дюймах:»)) length = int (input («Please введите длину комнаты в дюймах: ")) –

ответ

-2

Я думаю, что если вы измените эти строки он будет работать

primer_needed = float(primer_area + result - door_area - window_area)/200 
primer_needed = float(primer_area + result - door_area - window_area)/200 

или вы можете определить результат будет плавать как

x = float 
+0

Не могли бы вы объяснить свой ответ чуть подробнее. –

+0

float() будет анализировать целое число или числовую строку в float, а результат деления поплавка на целое будет плавать. Если вы определяете результат как float, он тоже будет работать. – DarkShiren

+0

Этот вопрос касается Python 3. Оператор '/' возвращает 'float' для операндов' int' с нормальной точностью (без усечения). Нет необходимости в явном преобразовании. – ShadowRanger

Смежные вопросы