Умные весы

Здравствуйте! Подскажите, пожалуйста, почему не работает первое условия?

оно у вас работает. просто ниже у вас идет следующее условие “Если вес больше 4 и меньше 5,5, то вес в норме, иначе - пора на тренировку”. Предположим вес у нас 3. начинаем с вашего первого if. 3<4? да, получаем рекомендацию покушать. Идем дальше по коду, попадаем на следующую проверку: 3>4? Нет, значит отправляемся в ветку else - и получаем оттуда новую рекомендацию - на тренировку!

1 лайк

Спасибо за обьяснение! Теперь понимаю в чем моя ошибка.

вы просто объявляйте переменные через var,которые в свою очередь можно переопределить.
в коде вы переопределяйте значение recomendation

если будете пользоваться ES6 и использовать const,то эту переменную уже нельзя переопределять и консоль с легкостью поймает эту ошибку.
перейдите на ES6 как можно скорее,только после изучения ES5

Решил это так:

var weight = 5;

var recommendation;

if ( weight < 4 ) {
recommendation = ‘Пора перекусить’;
}

if ( weight >= 4 ) {
recommendation = ‘Вес в норме’;
}

if ( weight > 5.5 ) {
recommendation = ‘Пора на тренировку’;

Его есть ещё куда улучшать или это уже предел?

конечно есть. у вас машина выполняет 3 блока кода, когда может один (или два [или три]). неэффективно с точки зрения производительности, зато понятно.
эффективнее будет через else if, но эт дебри, на данном этапе изучения вам это не нужно (там выигрыш - тысячные доли секунды)

Приветствую!
Подскажите, почему не работает вторая проверка?

Решение верное и должно проходить проверку.
Проверьте написание буквы «с» в слове «вес». Может быть, английскую написали?
Если нет, то пришлите, пожалуйста, код решения текстом.

Удалил букву “c”, написал русскую, помогло) Спасибо большое. Но дело в том, что я не лично набирал ‘Вес в норме’, а копировал из условия, выходит там в условии задания стоит неправильная буква )

Рада помочь! Проверила написание слова в условии задания — там русская буква.


Почему не определена переменная?

В тесте вес равен 4. У вас обработаны случаи больше 4 и меньше 4. А равенство нигде не прописано

Код

var weight = 5;
var recommendation;

if (weight < 4) {
recommendation = ‘Пора перекусить’;
} else if (weight >= 4 && weight <= 5.5) {
recommendation = ‘Вес в норме’;
} else if (weight > 5.5) {
recommendation = ‘Пора на тренировку’;
}