Вторая программа "Сколько гулять?"

А как вам такое решение? всего 11 строк

var temperature = 20;
var itsRaining = false;
var minutes;

if (itsRaining || (temperature < 0) || (temperature > 35)) {
console.log(minutes = 0);
} else if (temperature <=20){
console.log(minutes = 0 + temperature);
} else {
console.log(minutes = 40 - temperature);
}

Использование числа 40 в расчетах не делает программу универсальной при других исходных данных.

var temperature = 25;
var itsRaining = false;
var real
var normal = 20
var minutes = 20;
/Если идет дождь/
if(itsRaining){
minutes = 0
}else{
console.log(‘Гулять можно’);
}
/Если нужная температура/
if(temperature < 0 && temperature > 35){
minutes = 0
}else{
console.log(‘Гулять можно’);
}
/Если температура меньше или больше 20 градусов/
if(!itsRaining && temperature <= normal){
minutes = temperature
console.log(‘Гулять можно ’ + minutes + ’ минут’);
}else if (!itsRaining && temperature >= normal && temperature <= normal * 2){
real = temperature - normal;
minutes = minutes - real;
console.log(‘Гулять можно ’ + minutes + ’ минут’);
}else{
minutes = 0
}
Я вот так сделал

var temperature = 15;
var itsRaining = false;
var minutes;

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

Работает 100%

Привет!
Я не очень понимаю, почему никто не выполняет условия задачи? Или они поменялись? На всякий случай привожу и задание и мой код.

/*
Мяу! Длительность прогулки зависит от нескольких условий.
Если идёт дождь, гулять я не хожу. В этом случае длительность прогулки равняется 0. А вот если дождя нет, всё зависит от температуры на улице:
Во-первых, если температура от 10°C (включительно) до 15°C (не включая это значение), я гуляю 30 минут.
Во-вторых, если температура от 15°C (включительно) до 25°C (не включая значение), я гуляю 40 минут.
В-третьих, при температуре от 25°C (включительно) до 35°C (включительно), я гуляю 20 минут.
В остальных случаях я никуда не выхожу: либо очень холодно, либо очень жарко.
Результат программы – время прогулки. Его необходимо записать в переменную minutes.
*/

Я сделала так:
var temperature = 15;
var itsRaining = false;
var minutes;

if (itsRaining || temperature <= 10 || temperature > 35) {
minutes = 0;
console.log(‘Время прогулки ’ + minutes + ’ минут.’);
} else if (!itsRaining && temperature < 15) {
minutes = 30;
console.log(‘Время прогулки ’ + minutes + ’ минут.’);
} else if (!itsRaining && (temperature >= 15 && temperature <25)) {
minutes = 40;
console.log(‘Время прогулки ’ + minutes + ’ минут.’);
} else if (!itsRaining && temperature >= 25) {
minutes = 20;
console.log(‘Время прогулки ’ + minutes + ’ минут.’);
}

Условия задания немного изменились. Здесь есть коды старого варианта, ваш - новый.

Правильный вариант? Спасибо

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

if (isRaining) {
  minutes = 0;
}

if (!isRaining && temperature >= 10 && temperature < 15) {
  minutes = 30;
} 

if (!isRaining && temperature >= 15 && temperature < 25) {
  minutes = 40;
}

if (!isRaining && temperature >= 25 && temperature <= 35) {
  minutes = 20;
}

Мое решение

var temperature = 20;
var isRaining = true;
var minutes = 0;
var cold = temperature < 10;
var hot = temperature > 35;
if(isRaining || cold || hot){
minutes = 0;
}else{
if(temperature >= 10 && temperature < 15){
minutes = 30;
}
if(temperature >= 15 && temperature < 25){
minutes = 40;
}
if(temperature >=25 && temperature <= 35){
minutes = 20;
}
}

может уже было) но вот так…

var temperature;
var isRaining;
var minutes;

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

Насколько адекватно ?
Про Math.abs наглулил во время написания )

if(!(itsRaining) && !(temperature < 0 || temperature > 35)) {
  if(temperature == 20) {
   minutes = 20;
  } else {
    minutes = 20 - Math.abs(20 - temperature);
  }
}else{
  minutes = 0; 
}
 let temperature = 36;
let isRaining = true;
let minutes = 0;


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

Мой варик.

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

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;
}
}

let temperature = 20;
let itsRaining = false;
let goodWeather = 20;
let minutes;

if (itsRaining || temperature < 0 || temperature > 35){
minutes = 0;
} else if (temperature == goodWeather) {
minutes = 20;
} else if (temperature < goodWeather) {
minutes = temperature;
} else {
minutes = (goodWeather * 2 - temperature);
}

100%
let temperature = 20;
let isRaining = true;
let minutes = 0;
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}};
console.log(minutes);

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

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

if (isRaining || temperature <10 || temperature > 35) {
minutes = 0;

console.log('Время прогулки '  + minutes +  ' минут.');
} 

if (!isRaining && (temperature>=10 && temperature<15)) {
minutes = 30;
console.log('Время прогулки ' + minutes + ' минут.');
} 

if (!isRaining && (temperature>=15 && temperature <25)) {
minutes = 40;

console.log('Время прогулки ' + minutes + ' минут.');
} 

if (!isRaining && (temperature>=25 && temperature <=35)){
minutes = 20;
console.log('Время прогулки ' + minutes + ' минут');
}

Сделал так, всё работает, но я не понял, почему код работает только если else стоит после первого if. Если поставить его после 2-го или 3-го if - код перестаёт работать. Можете подсказать?

let temperature = 20;
let isRaining = false;
let minutes = 0;

if (temperature >= 10 && temperature < 15){
    minutes = 30;
}

else {
  minutes = 0; 
}

if (temperature >= 15 && temperature < 25) {
    minutes = 40;
}


if (temperature >= 25 && temperature <= 35) {
  minutes = 20;
}

if (isRaining){
  minutes = 0;
}

console.log(minutes);

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

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

Получилось коротко и универсально

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

if (!isRaining){
if (temperature >= 10 && temperature < 15){
console.log(1);
minutes=30;
} else
if (temperature >= 15 && temperature < 25){
console.log(2);
minutes=40;
} else
if (temperature >= 25 && temperature < 36){
console.log(3);
minutes=20;
}
else {
minutes=0;
}
}
else {
minutes=0;
};

let temperature = 20;
let isRaining = true;
let minutes = 0;
if (isRaining|| temperature <= 10 || temperature > 35) {
minutes=0;
console.log(‘Время прогулки’ + minutes + ‘минут.’);
} else if (temperature>=10 && temperature<15 && !isRaining) {
minutes=30;
} else if ((!isRaining) && (temperature>=15 && temperature< 25)) {
minutes=40;
console.log(‘Время прогулки’ + minutes + ‘минут.’)
} else if ((!isRaining) && (temperature>= 25 && temperature<=35)) {
minutes=20;
console.log(‘Время прогулки’ + minutes + ‘минут.’)
} else if ((!isRaining) && (temperature>0 && temperature<20)){}

ДЛЯ ТЕХ КТО НЕ ХОЧЕТ ДУМАТЬ )))))