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

var temperature = 20;
var itsRaining = false;

var minutes;

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

В чем ошибка?

Четвёртый тест. Дождя нет, температура — 22°C. Ожидаю время прогулки 18 минут.

Ваше значение minutes равное 22 не совпадает с ожидаемым значением 18.

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

if (itsRaining || temperature > 35 || temperature < 0) {minutes = 0}

else if (temperature == 20) {minutes = 20}

else if (temperature > 20) {minutes = 20 - (temperature - 20)}

else if (temperature < 20) {minutes = 20 - (20 - temperature)};

console.log(‘Ваше время прогулки составляет ’ + minutes + ’ минут’)

if (temperature == 20) {console.log(‘Господи, почему вы сидите дома? Вперед на прогулку!’)};

Вот мой вариант. Ничего нового собственно. Последняя строка не несет никакой особой функции.

У меня вот так получилось:

var temperature = 5;
var itsRaining = false;
var minutes;
var deltaMinutes;

if (temperature > 20){
deltaMinutes = 20 -(temperature - 20);
}
else{
deltaMinutes = 20 -(20 - temperature);
}

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

console.log(‘Длительность прогулки составляет ’ + minutes + ’ минут’);

так же сделал, и тоже заметил что про модуль числа ничего не сказано, но можно было разбить на 2 условия что бы не по модулю делать

Вот еще одно решение

var temperature;
var itsRaining;
var minutes;

itsRaining || temperature < 0 || temperature > 35 ? minutes = 0 : temperature <= 20 ? minutes = temperature : minutes = 20 - (temperature - 20);
  
console.log("Вам можно гулять - " + minutes + " минут.");
2 лайка

Ответ, исходя из текста задания.

var temperature = 20;
var itsRaining = false;

var minutes;

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

console.log(minutes);
3 лайка

var temperature = 20;
var itsRaining = false;

var minutes;
var hren;
hren = temperature - 20;
if (hren < 0) {
hren = - hren;
}
if (!itsRaining) {
if(temperature <= 35 && temperature >= 0){
minutes = 20 - hren;
} else {
minutes = 0;
}
} else {
minutes = 0;
}
console.log(minutes);

у меня вышло как то оригинально)

Убила пару часов, но решила. Радости полные штаны!

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

Чють коряво сделал. Но прошло проверку=)

var temperature = 35;
var itsRaining = false;

var minutes;

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

Проверку проходит, но код немного длинноват

var temperature = 20;
var itsRaining = false;
var hot = 35;
var cold = 0;
var beaTemperature = 20;

var minutes;

if (itsRaining) {
minutes=0;
console.log(“Никуда не идем, дождик”);
}

else {
if(temperature > hot || temperature < cold ){
minutes = 0;
console.log(“Гулять не идем, температура не подходит”);
}
else{
if (temperature == beaTemperature){
minutes = 20;
console.log(“Погода просто прелесть! Идем гулять 20 минут.”);
}
if(temperature > beaTemperature){
minutes= beaTemperature - (temperature - beaTemperature);
console.log(“Идем гулять " + minutes + " минут”);
}
else{
minutes= beaTemperature - (beaTemperature - temperature);
}
}
}

зачем новые переменные?
if(itsRaining || temperature < 0 || temperature > 35 ){
minutes = 0;
console.log(minutes);
}

else if(temperature==20 && !itsRaining){
minutes = 20;
console.log(minutes);
}
else if(temperature >=20){
console.log(minutes);
minutes =20-(temperature -20) ;
}
else if(temperature <=20){
minutes = temperature;
console.log(minutes);
}

прошу оценить:
var temperature = 20;
var itsRaining = false;

var minutes;

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

var temperature = 20;
var itsRaining = false;

var minutes;

if (itsRaining || temperature < 0 || temperature > 35) {
  minutes = 0;
} else {
  minutes = 20 - Math.abs(temperature - 20);
}

Ребят, подскажите что не так?

var temperature = 20;
var itsRaining = false;

var minutes;

if(itsRaining || temperature===0 || temperature>35){

minutes=0;
}

else if(temperature ==20){

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

minutes=20 -temperature;

}

В ветке else условие уже не пишется.

Подскажите, где здесь ошибки!?

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

if (isRaining === true){
minutes = 0;
}

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

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

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

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

У вас все условия работают независимо друг от друга. То есть условия 2-4 не зависят от первого (идет дождь или нет). Если идет дождь, прогулки не будет. Во всех остальных случаях (else) количество минут зависит от температуры воздуха. В условиях 2-4 вы должны были написать else if вместо if, чтобы связать условия между собой.

Мой вариант

Summary

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

Это можно не писать.

Вот мой код

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

if (isRaining || temperature < 10 || temperature > 35){
minutes = 0;
console.log(“Прогулка не состоится”);
} 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 + " минут”);
}

Сначала долго не могла понять почему не работает, потом заметила что я написала => вместо >=

:woman_facepalming: