Loading...
nzzgeorgi avatar nzzgeorgi 14 Точки

[Exercises] JS advanced => JS classes => 08. Kitchen || проблем

https://judge.softuni.bg/Contests/Practice/Index/1534#7

https://pastebin.com/yjYMC0vu

Здравейте. Някой може ли да ми помогне с кода ми и да ми каже защо два от тестовете не минават. Проверил съм всички изходи и грешките са при следните методи:

1: addToMenu()  - в случаите когато има поне 1 рецепта в менюто

2:  showTheMenu() - пак в случаите когато има поне 1 рецепта в менюто.

 

При тестовете ми във VScode изходите ми изглеждат идентични с тези, които се искат в условието на задачата, но въпреки това Judge изглежда не ги приема.

 

Тагове:
0
JavaScript Advanced
willystyle avatar willystyle 2472 Точки
Best Answer

Здравей, едната грешка (тест 9) е в showTheMenu() , когато връщаш резултата правиш join s \n, но на последния ред нямаш \n, когато гледаш с console,log не го забелязваш, защото той прави нов ред, но judge явно го търси.

ред 43 else {return toPrint.join('\n') + '\n'} // // TEST 9 - pass

може би явно това имат впредвид с "At the end trim the result!", което не ми звучи логично, но.. на пишещия условието да.

Така, сега относно втората грешка, която отново не е при теб :) но явно се иска точно определена структура за this.menu[meal] и не може да ползваш това което ти правиш с this.menu[meal] = [neededIngs, +price] а:

this.menu[meal] = {products: neededIngs, price: +price}

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

Съответно трябва да замениш this.menu[meal][0] с this.menu[meal].products

и this.menu[meal][1] с this.menu[meal].price

https://pastebin.com/LefLUqFN

P.S. Досега не съм срещал толкова завоалирано условие на задача.

 

 

 

0
17/03/2019 11:56:46
nzzgeorgi avatar nzzgeorgi 14 Точки

Благодаря! Мина ми през ума това да е грешката, но понеже в условието пишеше нещо, че менюто трябва да се tirm-не, мислих, че не трябва да се слага този последен '\n' и така и не го пробвах.

Edit: Благодаря и за обяснението на 2-та грешка! Доста неприятно е като има такова разминаване в условието и в тестовете, и особено когато не може да се провери какво точно иска judge...

2
17/03/2019 22:49:20
Dokka avatar Dokka 1 Точки

Здравейте,

Понеже и аз се сблъсках с тази приятна задача. Искам да направя допълнение към TEST 6: явно judge не само иска да да имаш пропърти с име "products", но и стойността му да е масив.

Пример: 

1) this.menu[meal] = { price: price, products: products };

--- тест 6 минава;

 

2) this.menu[meal] = { price: price, products: {} };

for (let i = 0; i < products.length; i++) {

let [name, quantity] = products[i].split(" ");

this.menu[meal].products[name] = +quantity;

 }

--- тест 6 гърми

 

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