Loading...
Kristianrr avatar Kristianrr 3 Точки

Изпитна Задача 4. Ремонт.

Задача 4. Ремонт

Пешо решава, че иска да направи ремонт вкъщи. Неговата задача е да боядиса стените в хола, като знаете височината и ширината на една стена. Холът на Пешо има 4 стени с еднакви размери, определен процент от които се заемат от прозорци и врати, които няма да бъдат боядисвани. Той не е сигурен дали ще успее наведнъж, затова моли Вас да му помогнете да изчисли дали ще му остава още работа за следващия ден и, ако да, колко кв. м. има да довърши, а в случай, че успее да боядиса хола, колко боя му е останала (трябва да се има предвид, че с един литър боя се боядисва един квадратен метър от стената).

Вход

От конзолата се четат следните редове:

  1. Височина на стената - цяло число [0… 100]
  2. Ширина на стената - цяло число [0… 100]
  3. Процент от общата площ на стените, който няма да бъде боядисан - цяло число [5… 95]
    На следващите редове до получаване на командата "Tired!" или докато не бъдат боядисани всички стени, се чете по едно число:
  • Литри боя – цяло число [0…100]:

Забележка: Площта за боядисване да бъде закръглена нагоре до най-близкото цяло число.

Изход

Да се отпечата на конзолата един от следните редове:

  • При получаване на командата "Tired!":
  • quadratic m left."
    {квадратни метри} е повърхнината, която му остава да боядисана.
  • Aко е останала боя в излишък:
  • All walls are painted and you have {литри боя} l

paint left!"

  • Aко след боядисването на всички стени, не е останала боя:
  • All walls are painted! Great job, Pesho!"

Линк към кода - https://pastebin.com/cU0BMgep

 

Джъдж ми дава 87 точки. Ако може малко съдействие Благодаря! :)

0
Python
MartinBG avatar MartinBG 4803 Точки

Проблемът най-вероятно е в изчисляването на walls_for_painting, тъй като не е изпълнено условието "Площта за боядисване да бъде закръглена нагоре до най-близкото цяло число.":

walls_for_painting = volume_for_painting * percent_total_wall_not_painted / 100

Опитайте така:

walls_for_painting = math.ceil(volume_for_painting * percent_total_wall_not_painted / 100.0)

 

0
27/10/2021 13:37:16
krustevk avatar krustevk 4 Точки

Така е ... там не се закръгля към по-голямо (когато всичко е боядисано). Но предполагам, че ако това е проблема Judge ще даде много по-малко точки. Според мен друг проблем ще да е ...например проверка за число, ако приетата команда не е 'Tired!', пробвах кода, ако вместо число въведа например 'S' кода гърми. Пробвай с isdecimal()!

Поздрави

0
ILTO86 avatar ILTO86 2 Точки

Проблема го открих и е в синтаксиса при IF проверките!!! не трябва да са вложени!!

from math import ceil

height_wall = int(input())
width_wall = int(input())
percent_total_wall_not_painted = int(input())

volume_for_painting = height_wall * width_wall * 4
walls_for_painting = ceil(volume_for_painting * percent_total_wall_not_painted / 100)
total_volume_painting = volume_for_painting - walls_for_painting

command = input()
while command != "Tired!":
    liters_paint = int(command)
    total_volume_painting -= liters_paint

    if total_volume_painting < 0:
        print(f"All walls are painted and you have {abs(total_volume_painting)} l paint left!")
        break

    elif total_volume_painting == 0:
        print("All walls are painted! Great job, Pesho!")
        break

    command = input()

if command == "Tired!":
    print(f"{abs(total_volume_painting)} quadratic m left.")

Ето тука поправката която аз направих по кода

0
16/11/2021 12:59:15
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.