Loading...
Yordanka_Nikolova avatar Yordanka_Nikolova 1 Точки

Задача Load Suitcases - Python

Здравейте,

На задача Load Suitcases в Judge с този код получавам 80/100. Показва, че са  две грешките от тип - Runtime error и Icorrect answer. 

Моля за кратко обяснение къде е объркано.

Благодаря.

https://pastebin.com/DwAvhBLd

Тагове:
0
svephoto avatar svephoto 1191 Точки

Здравей, Yordanka_Nikolova,

 

Ще те помоля да дадеш и условието на задачата - такава е практиката, когато питаме нещо за даден проблем: условие + код. laugh

0
Yordanka_Nikolova avatar Yordanka_Nikolova 1 Точки

Здравей,

 

Извинявам се, че забравих да дам условието. Благодаря за информацията и съвета.

 

 

1
Axiomatik avatar Axiomatik 2422 Точки

Forum links (just type "Suitcases" in search bar) =>

-https://softuni.bg/forum/31267/programming-basics-online-exam-28-and-29-march-2020-05-suitcases-load

-https://softuni.bg/forum/30991/suitcases-load

-https://softuni.bg/forum/35031/05-suitcases-load-programming-basics-online-exam-28-and-29-march-2020

 

Instructions => https://softuni.bg/downloads/svn/programming-basics/Resources/EXAMS-2020/Exam-Version-Two/05.%20Suitcases%20load.docx

1. Изпит по "Основи на програмирането" - 28 и 29 март 2020

Задача 5. Товарене на багажи
Напишете програма, която ви помага при товаренето на куфари в багажника на самолет. Всеки самолет има определен капацитет на багажника. До получаване на команда "End" ще получавате обем на куфар. Обемът на всеки трети куфар трябва да се увеличава с 10%, поради загубата на пространство при начина на подреждане. Ако свободното пространството в даден момент е по-малко от обема на куфар товаренето трябва да прекъсне.
Вход
Първоначално се чете един ред:
Капацитетът на багажника – реално число в диапазона [100.0…6000.0]
След това до получаване на команда "End" или до запълване на багажника, се чете по един ред:
Обем на куфар – реално число в диапазона [100.0…6000.0]
Изход
На конзолата да се отпечатат следните редове според случая:
При получаване на командата "End" се печата:
"Congratulations! All suitcases are loaded!"
Ако обемът на куфара е по-голям от оставащото пространство в багажника:
"No more space!"
Накрая винаги се отпечатва статистика – колко багажа са натоварени:
"Statistic: {брой натоварени багажи} suitcases loaded."

 

550
100
252
72
End

Congratulations! All suitcases are loaded!
Statistic: 3 suitcases loaded.

;-)

0
svephoto avatar svephoto 1191 Точки

@Yordanka_Nikolova, проверката трябва да бъде за всеки 3-ти куфар, а не само за 3-тия. Можеш да сложиш, например, такъв израз на ред 14

if (counter + 1) % 3 == 0:

и да видиш какво ще се получи.

1
01/05/2021 16:10:42
Yordanka_Nikolova avatar Yordanka_Nikolova 1 Точки

Благодаря за улсовието.

0
Kevin441 avatar Kevin441 -1 Точки

You need to think about your algorithm.
You are creating bins based on 100, so construct them and then deconstruct to get your expected output. Using [-1] as the index means always add to the last bin in bins: 

A = [15,20,25,45,20,30,65] 
bins = [[]]
for i in reversed(A):
    if sum(bins[-1]) + i > 100:
        bins.append([])
    bins[-1].append(i)

>>> bins
[[65, 30], [20, 45, 25], [20, 15]]

So you just need to reverse and flatten the bins and this can be done a number of ways:FaceTime PC

>>> [a for b in reversed(bins) for a in b] 
[20, 15, 20, 45, 25, 65, 30]
# Or
>>> sum(reversed(bins), []) 
[20, 15, 20, 45, 25, 65, 30]
# Or
>>> import itertools as it
>>> list(it.chain.from_iterable(reversed(bins)))
[20, 15, 20, 45, 25, 65, 30]
-2
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.