Loading...
rocnogu avatar rocnogu 2 Точки

Conditional Statements Advanced - Lab / 11. Fruit Shop

Резултатът е нула а judge очаква празен.

''При нула да не се отпечатва'' не е отбелязано в задачата !

Резултатът би трябвало да е "error"



94%

Test #18 (Incorrect answer)
Не казва защо или какъв са  входът и изходът.
https://kopy.io/OKZUh

Тагове:
0
Programming Basics with JavaScript 23/01/2022 14:04:44
svephoto avatar svephoto 1191 Точки

Тествал ли си твоето решение с невалидни едновременно плод и ден? Например:

fruitShop2(["tomato", "Workday", "3"]);

На изхода получаваш 2 пъти "error" вместо 1 път. Предполагам, че тест 18 прави точно това. Най-бързото разрешаване на проблема при твоя вариант за решение е да сложиш по един return; на двете места, на които печаташ "error":

else {

      console.log("error");

      return;

}

Така и последният тест ще мине. И накрая няма нужда от проверката if (price !== 0), можеш да я махнеш.

1
23/01/2022 13:00:58
rocnogu avatar rocnogu 2 Точки

Ахаа.
Просто слагам return след конзол лога?
Какво връща обаче? Един вид, какво се случва когато има ретърн?
 

Нещо си преебах дегъга вчера, но гледам днес работи.

 if (price !== 0) е защото ми връщаше 0 и го отчита като грешка. 

Ще коментирам себе си :)
""Проблемът в случая е че не виждам какъв е проблемът за да си го оправя сам.
Джъдж не работи винаги добре. Забелязах и други случаи.
Ако знам какъв точно е проблемът ще търся решение поне.
Някаква идея защо джъдж не дава инфо понякога?""

Благодаря много :)

0
23/01/2022 13:01:52
svephoto avatar svephoto 1191 Точки

Да, return след console.log() - и на двете места, на които трябва да отпечаташ error при невалиден плод или ден, или и двете. Трябва да има return, защото ако няма, при едновременно невалидни плод и ден вместо веднъж, ще се отпечата 2 пъти error (понеже и при двете проверки - и за плод, и за ден, ще влезеш в else-a накрая). В случая return прекратява изпълнението на програмата, не връща нищо.

Относно работата на Judge - повечето тестове умишлено са скрити, понеже така на нас се оставя да мислим за покриването на всички възможни случаи, вкл. и граничните.

0
rocnogu avatar rocnogu 2 Точки

Значи, ретърн е като брейк в случая. Ок. разбирам.

Относно работата на Judge:  Звучи... като екстра работа за всички :)

0
svephoto avatar svephoto 1191 Точки

Не е като break, защото нямаш цикъл, а break обикновено се използва вътре в даден цикъл за излизане от него. Ако тук сложиш break вместо return ще получиш грешка: Uncaught SyntaxError: Illegal break statement.

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