Loading...
elly22chan avatar elly22chan 12 Точки

Задача Suitcases Load (Python) -> 90/100 в Judge

Здравейте,

Пробвах всякаква подредба на проверките, но явно има нещо, което пропускам и на тази задача получавам 90/100 в Judge.

Резултатът не ме притеснява, просто искам да разбера къде бъркам.

Кодът ми е това: https://pastebin.com/1vJAYpde.

Благодаря предварително!

0
Programming Basics
Axiomatik avatar Axiomatik 2422 Точки

Super answer already provided by MartinBG on the same problem with Suitcases, just include the validation for the airplane capacity when the counter has hit 3 => https://softuni.bg/forum/31267/programming-basics-online-exam-28-and-29-march-2020-05-suitcases-load

Comment:

Проблемът е, че сте разделили товаренето на всеки 3-ти куфар на 2 части, а има проверка за препълване само преди първото товарене.

Да вземем за пример следние входни данни:

3 (обем на багажното)

1 (3 - 1 = 2 осаващ обем)

1 (2 - 1 = 1 оставащ обем)

1 ( 2 -1 = 0 оставащ обем, но понеже е 3-ти куфар има и допълниелно 0 - 1 * 0.1 = -0.1 оставащ обем, т.е. този куфар не може да бъде натоварен).

Въпреки това, програмата ще спре чак на следващия куфар и ще репортне, че натоварените куфари са били 3, вместо 2.

Best,

0
elly22chan avatar elly22chan 12 Точки

I already tried something like that following MartinBG's instructions:

if (counter + 1) % 3 == 0:
    suitcase *= 1.1

Unfortunately I just can't make it work no matter how I order the checks and validations.

0
Axiomatik avatar Axiomatik 2422 Точки
airplane_capacity = float(input())
counter = 0
 
while True:
    suitcase = input()
 
    if suitcase == "End":
        print("Congratulations! All suitcases are loaded!")
        break
    else:
        suitcase = float(suitcase)
 
    # if suitcase > airplane_capacity:
    #     print("No more space!")
    #     break
 
    
    if (counter + 1) % 3 == 0:
        # suitcase = round(suitcase + (suitcase * 10 / 100)) ERROR WILL CAUSE 90/100
        suitcase *= 1.1

    if suitcase > airplane_capacity:
        print("No more space!")
        break
    
    counter += 1
    airplane_capacity -= suitcase
 
print(f'Statistic: {counter} suitcases loaded.')

:-)

0
elly22chan avatar elly22chan 12 Точки

Благодаря!

0
svephoto avatar svephoto 1191 Точки

Здравей, elly22chan,

 

Ето вариант на твоя код https://pastebin.com/hvZNnaRD, който минава със 100/100. Поразместил съм някои неща и съм променил това-онова, но ти ще видиш какво и къде. Надявам се да ти е от полза.

1
elly22chan avatar elly22chan 12 Точки

И това е с 90/100. Не минава една от проверките... това решение, което Axiomatik е дал е 100/100. Малко съм объркана вече, но... :D благодаря за помощта!

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