Длительные прогулки (Программирование на JavaScript - Условия - Практика)
let temperature = 20;
let itsRaining = false;
let minutes;
if (itsRaining || temperature < 0 || temperature > 35)
minutes = 0
else if (temperature === 20)
minutes = 20
else {
if (temperature > 20)
minutes = temperature - ((temperature - 20) * 2)
else
minutes = temperature
}
У меня получилось два варианта, второй через else if который еще не затрагивали.
if (!isRaining && 10 <= temperature && 15 > temperature) {minutes = 30}
if (!isRaining && 15 <= temperature && 25 > temperature) {minutes = 40}
if (!isRaining && 25 <= temperature && 35 >= temperature) {minutes = 20}
if (temperature < 10 || temperature > 35 || isRaining) {minutes = 0}
if (isRaining) {minutes = 0}
else if (10 <= temperature && 15 > temperature) {minutes = 30}
else if (15 <= temperature && 25 > temperature) {minutes = 40}
else if (25 <= temperature && 35 >= temperature) {minutes = 20}
else {minutes = 0}
Оба рабочие и проходят проверку.
В твоем варианте не учитывается температура включительно, и itsRaining = false, так что условное ветвление не выполнится с && (который там должен быть, поскольку все условия должны соответствовать для прогулки). + пропущены фигурные скобки и ;. Ну и условные ветвления внутри else как-то запутанно выглядят, учитывая что else обычно используется вообще без условия как исключающее предыдущие if /else if.
if (!itsRaining && temperature >= 0 && temperature <= 35) {
if (temperature < 20) {
minutes = 20 - (20 - temperature);
}
else if (temperature == 20) {
minutes = 20;
}
else {
minutes = 20 - (temperature - 20);
}
} else {
minutes = 0;
}