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

Добрый день!
В JavaScript нельзя использовать для сравнения конструкцию типа x < y < z, как в первом варианте кода.
Необходимо разбивать условие на одиночные сравнения и, после этого, объединять их посредством логических операторов, как во втором варианте кода.
Из-за некорректного сравнения код выдавал 0 если идёт дождь, а во всех остальных местах выдавал 20.

Понял! Спасибо за разъяснение!

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

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

}
else if (temperature >= 10 && temperature < 15) {

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

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

}

А вот такой вариант выглядит нормально? Не слишком деревянно?)

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

if (isRaining || temperature < 10 || temperature > 35) {
minutes = 0;
console.log(‘Прогулка продлится ’ + minutes + ’ минут.’);
} else {

if (temperature >=10 && temperature < 15) {
minutes = 30;
console.log(‘Прогулка продлится ’ + minutes + ’ минут.’);
} else {
if (temperature >= 15 && temperature < 25) {
minutes = 40;
console.log(‘Прогулка продлится ’ + minutes + ’ минут.’);
} 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 < 15 ) {
minutes = 30;
} if(!isRaining && temperature >= 15 && temperature < 25) {
minutes = 40;
} if(!isRaining && temperature >= 25 && temperature <= 35) {
minutes = 20;
}

У меня сработало так:

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

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

1 лайк

я вот так сделал скажите насколько правильно, и укажите на ошибки
let temperature = 20;
let isRaining = true;
let minutes = 0;

if (isRaining) {
minutes = 0;
} else 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;
}

У меня вот так вышло.

let temperature = 20;
let isRaining = true;
let 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;
}

Немного подучился)))

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

if (isRaining) {
  minutes = 0;
  } else if (temperature >= 10 && temperature < 15) {
    minutes = 30;
    } else if (temperature >= 15 && temperature < 25) {
    minutes = 40;
    } else if (temperature >= 25 && temperature <= 35) {
    minutes = 20;
    }
1 лайк

Ещё возможен вот такой вариант:

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

minutes = (isRaining) ? 0:
(temperature >= 10 && temperature < 15) ? 30 :
(temperature >= 15 && temperature < 25) ? 40 :
(temperature >= 25 && temperature <= 35) ? 20 : 0;

Закончил в академии тренажеры по JS. Отличная база для дальнейшего изучения JS.
Я продолжаю учиться на сайте https://learn.javascript.ru/. Это не реклама, сын посоветовал.
На данный момент, в htmlacademy, остановился на ‘Курс «Продвинутые техники и инструменты вёрстки»’. Решаю задачи по JS из курса, ну и старые задачи в конце пройденных тем пересматриваю. Практика не бывает лишней)))

1 лайк

Сделал тупо влоб. Прям по описанию задания.

let temperature = 20;
let isRaining = false;
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} 

Получилось через else if

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

if (isRaining) {
console.log(minutes = 0);
}

if (!isRaining) {
if (temperature <= 10) {
console.log(minutes = 0);
}
}

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

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

if (temperature >= 25) {
if (temperature <= 35)
console.log(minutes = 20);
}

if (!isRaining) {
if (temperature > 35) {
console.log(minutes = 0);
}
}

if (isRaining) {
if (temperature > 35) {
console.log(minutes = 0);
}
}

if (isRaining) {
if (temperature <= 35) {
console.log(minutes = 0);
}
}