Условия 16/16 Вторая программа: «Сколько гулять?»

Решение

var temperature = 20;

var itsRaining = false;

var minutes;

// Даем условия, если температура >=0 и <= 20 и нет дождя, то тогда время = температуре.

if(temperature >= 0 && temperature <=20 && !itsRaining){
minutes=temperature;

}
//Второе условие, если температура > 20 и <=35 и нет дождя, то в этом случае
время прогулки = максимальную время прогулки - ( заданную температуру - идеальную температуру)

else if(temperature > 20 && temperature <=35 && !itsRaining){
minutes=20 - (temperature - 20);

// в остальных случаях , то есть температуру > 35 , время = 0.

else{
minutes = 0;
}

не подскажете, а почему так нельзя:

var temperature = 15;
var isRaining = false;
var minutes = 0;

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

у меня сыпется проверка в 3х местах, вроде синтаксису не противоречу, основная проблема, что после второй строки не видит проверки

логика такова: идем в 1е условие, если хоть одно истина - получаем 0, идем дальше смотрим 15 попадает в промежуток? - нет, идем дальше и тд. Но почему-то логика не пашет так. Понять бы почему. Весь обед на работе убил на попытку реанимировать

upd: понял в чем ошибка, javascript не хочет воспринимать двойные знаки (или я не понимаю пока как это делать), через && в условиях все заработало.

1 лайк