Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.12.2018, 16:36
Аспирант
Отправить личное сообщение для garrip91 Посмотреть профиль Найти все сообщения от garrip91
 
Регистрация: 07.10.2018
Сообщений: 75

Очередная логическая задача (В ЧАСТИ, КАСАЮЩЕЙСЯ ИМЕННО JS)!
Здравствуйте в очередной раз, уважаемые пользователи сего сайта!!!

Существует некая "HTML Академия"(https://htmlacademy.ru/), где в целях самообучения можно выполнять задания различных уровней сложности.

Решал я, значит, все эти задачи (именно ЗАДАЧИ, так как у меня просто язык не повернётся назвать это задачКами в связи с уровнем сложности) и наткнулся на очередное произведение творчества автора (вот прямая ссылка: https://htmlacademy.ru/courses/209/run/17 ).

По условию задания ТИПА заказчик (это на самом деле бот) тестирует мою программу, подставляя разные значения во входные переменные и получая полученные рекомендации, и только когда все тесты пройдут успешно, задание будет выполнено!

У меня вот что получилось в этой задаче и, как я полагаю, мне вроде удалось её решить:

===============================================
var temperature = 20;
var isRaining = true;
var minutes = 0;

if (isRaining) {
minutes = 0;
}
else if (!isRaining) {
if (temperature >= 10 || temperature < 15) {
minutes = 30;
}
else if (temperature >= 15 || temperature < 25) {
minutes = 40;
}
else if (temperature >= 25 || temperature < 35) {
minutes = 20;
}
}
else {
minutes = 0;
}

console.log (minutes);

/* Техническое задание

Мяу! Длительность прогулки зависит от нескольких условий.

Если идёт дождь, гулять я не хожу. В этом случае длительность прогулки равняется 0. А вот если дождя нет, всё зависит от температуры на улице:

Во-первых, если температура от 10°C (включительно) до 15°C (не включая это значение), я гуляю 30 минут.

Во-вторых, если температура от 15°C (включительно) до 25°C (не включая значение), я гуляю 40 минут.

В-третьих, при температуре от 25°C (включительно) до 35°C (включительно), я гуляю 20 минут.

В остальных случаях я никуда не выхожу: либо очень холодно, либо очень жарко.

Результат программы – время прогулки. Его необходимо записать в переменную minutes.

*/
===============================================


Но не тут-то было... Оказывается, вот что мне этот ёбаный бот выдал при проверке результата:



===============================================
===============================================


Сообщение от Бота в виде кота/кошки (далее - CAT):
------------------------------------------------------------------------------------
"Первый тест. Идёт дождь, температура — 15. Ожидаю время прогулки 0"
------------------------------------------------------------------------------------

Сообщение от некоего "LOG"(тоже, видимо, Бота; далее - LOG):
------------------------------------------------------------------------------------
"0 (number)"
------------------------------------------------------------------------------------

Сообщение от некоего "OK"(тоже, видимо, Бота, далее - OK):
------------------------------------------------------------------------------------
"Ваше значение minutes равное 0 совпадает с ожидаемым значением."
------------------------------------------------------------------------------------

CAT:
------------------------------------------------------------------------------------
"Второй тест. Дождя нет, температура — 40. Ожидаю время прогулки 0"
------------------------------------------------------------------------------------

LOG:
------------------------------------------------------------------------------------
"30 (number)"
------------------------------------------------------------------------------------

Сообщение от некоего "FAIL"(тоже, видимо, Бота; далее - FAIL):
------------------------------------------------------------------------------------
"Ваше значение minutes равное 30 не совпадает с ожидаемым значением 0."
------------------------------------------------------------------------------------

CAT:
------------------------------------------------------------------------------------
"Третий тест. Дождя нет, температура — 15. Ожидаю время прогулки 40"
------------------------------------------------------------------------------------

LOG:
------------------------------------------------------------------------------------
"30 (number)"
------------------------------------------------------------------------------------

FAIL:
------------------------------------------------------------------------------------
"Ваше значение minutes равное 30 не совпадает с ожидаемым значением 40."
------------------------------------------------------------------------------------

CAT:
------------------------------------------------------------------------------------
"Четвёртый тест. Дождя нет, температура — 24. Ожидаю время прогулки 40"
------------------------------------------------------------------------------------

LOG:
------------------------------------------------------------------------------------
"30 (number)"
------------------------------------------------------------------------------------

FAIL:
------------------------------------------------------------------------------------
"Ваше значение minutes равное 30 не совпадает с ожидаемым значением 40."
------------------------------------------------------------------------------------

CAT:
------------------------------------------------------------------------------------
"Пятый тест. Дождя нет, температура — 25. Ожидаю время прогулки 20"
------------------------------------------------------------------------------------

LOG:
------------------------------------------------------------------------------------
"30 (number)"
------------------------------------------------------------------------------------

FAIL:
------------------------------------------------------------------------------------
"Ваше значение minutes равное 30 не совпадает с ожидаемым значением 20."
------------------------------------------------------------------------------------

CAT:
------------------------------------------------------------------------------------
"Шестой тест. Идёт дождь, температура — 27. Ожидаю время прогулки 0"
------------------------------------------------------------------------------------

LOG:
------------------------------------------------------------------------------------
"0 (number)"
------------------------------------------------------------------------------------

OK:
------------------------------------------------------------------------------------
"Ваше значение minutes равное 0 совпадает с ожидаемым значением."
------------------------------------------------------------------------------------

CAT:
------------------------------------------------------------------------------------
"Седьмой тест. Дождя нет, температура — 12. Ожидаю время прогулки 30"
------------------------------------------------------------------------------------

LOG:
------------------------------------------------------------------------------------
"30 (number)"
------------------------------------------------------------------------------------

OK:
------------------------------------------------------------------------------------
"Ваше значение minutes равное 30 совпадает с ожидаемым значением."
------------------------------------------------------------------------------------

CAT:
------------------------------------------------------------------------------------
"Восьмой тест. Дождя нет, температура — 27. Ожидаю время прогулки 20"
------------------------------------------------------------------------------------

LOG:
------------------------------------------------------------------------------------
"30 (number)"
------------------------------------------------------------------------------------

FAIL:
------------------------------------------------------------------------------------
"Ваше значение minutes равное 30 не совпадает с ожидаемым значением 20."
------------------------------------------------------------------------------------

CAT:
------------------------------------------------------------------------------------
"Девятый тест. Дождя нет, температура — 35. Ожидаю время прогулки 20"
------------------------------------------------------------------------------------

LOG:
------------------------------------------------------------------------------------
"30 (number)"
------------------------------------------------------------------------------------

FAIL:
------------------------------------------------------------------------------------
"Ваше значение minutes равное 30 не совпадает с ожидаемым значением 20."
------------------------------------------------------------------------------------

CAT:
------------------------------------------------------------------------------------
"Десятый тест. Дождя нет, температура — 5. Ожидаю время прогулки 0"
------------------------------------------------------------------------------------

LOG:
------------------------------------------------------------------------------------
"30 (number)"
------------------------------------------------------------------------------------

FAIL:
------------------------------------------------------------------------------------
"Ваше значение minutes равное 30 не совпадает с ожидаемым значением 0."
------------------------------------------------------------------------------------

Сообщение от некоего "ERR"(тоже, видимо, Бота):
------------------------------------------------------------------------------------
""Всего проверок: 10, пройдено: 3" (string)"
------------------------------------------------------------------------------------


================================================== ============================================



Вопрос: ЧТО Я ДЕЛАЮ НЕ ТАК???
Ответить с цитированием
  #2 (permalink)  
Старый 17.12.2018, 16:46
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

А как в скрипт передаются данные?
Ну и условия у вас неправильные, нужно использовать логическое И, а не ИЛИ.

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

function getWalkDuration(raining, temperature) {
    if (raining)
        return 0;

    if (temperature >= 10 && temperature < 15)
        return 30;
    else if (temperature >= 15 && temperature < 25)
        return 40;
    else if (temperature >= 25 && temperature < 35)
        return 20;


    return 0;
}

alert(
	getWalkDuration(true,15)===0
);
alert(
	getWalkDuration(false,40)===0
);
alert(
	getWalkDuration(false,15)===40
);

Последний раз редактировалось Nexus, 17.12.2018 в 16:55.
Ответить с цитированием
  #3 (permalink)  
Старый 17.12.2018, 17:13
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

Сообщение от garrip91 Посмотреть сообщение
Вопрос: ЧТО Я ДЕЛАЮ НЕ ТАК???
Постишь рекламные ссылки требующие регистрации и подписки.
Ответить с цитированием
  #4 (permalink)  
Старый 18.12.2018, 11:40
Аспирант
Отправить личное сообщение для garrip91 Посмотреть профиль Найти все сообщения от garrip91
 
Регистрация: 07.10.2018
Сообщений: 75

Сообщение от MallSerg Посмотреть сообщение
Постишь рекламные ссылки требующие регистрации и подписки.
Нет, это всего лишь ссылка на источник.
Я конечно и зарегистрировался и подписался, но, думаю, конкретно по этой ссылке можно и без регистраций и подписок перейти. Если нет, тогда фиг с ним (никого ни к чему не призываю и не обязываю!!!)

Последний раз редактировалось garrip91, 18.12.2018 в 11:52.
Ответить с цитированием
  #5 (permalink)  
Старый 18.12.2018, 11:52
Аспирант
Отправить личное сообщение для garrip91 Посмотреть профиль Найти все сообщения от garrip91
 
Регистрация: 07.10.2018
Сообщений: 75

Сообщение от Nexus Посмотреть сообщение
А как в скрипт передаются данные?
Ну и условия у вас неправильные, нужно использовать логическое И, а не ИЛИ.

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

function getWalkDuration(raining, temperature) {
    if (raining)
        return 0;

    if (temperature >= 10 && temperature < 15)
        return 30;
    else if (temperature >= 15 && temperature < 25)
        return 40;
    else if (temperature >= 25 && temperature < 35)
        return 20;


    return 0;
}

alert(
	getWalkDuration(true,15)===0
);
alert(
	getWalkDuration(false,40)===0
);
alert(
	getWalkDuration(false,15)===40
);
Спасибо Вам большое, господин NEXUS! Вы мне очень помогли!!!
Я просто не въехал сразу, что в подобных случаях нужно применять оператор "И", а не "ИЛИ"......((
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Логическая задача (В ЧАСТИ, КАСАЮЩЕЙСЯ ИМЕННО JS)! garrip91 Общие вопросы Javascript 3 10.12.2018 15:50
Задачи по js spo Общие вопросы Javascript 8 07.02.2018 16:25
Выбор JS фреймворка для клиентской части razorg1991 Общие вопросы Javascript 12 23.10.2016 20:26
JS подмена части ULR на лету stem Общие вопросы Javascript 12 24.10.2015 16:14
Замена части url через js NOLDOR123 Общие вопросы Javascript 2 15.05.2013 05:42