Переписать цикл FOR на WHILE

Задача:

В цикле for всегда задают строгое количество итераций. Перепиши код из предыдущего урока, применяя while. Вспомни условие задачи: возвести двойку в степень, которую задал пользователь, но не более, чем в восьмую степень. Избавься от конструкции break. Не забудь увеличить i на 1 внутри цикла.

Было так:

let power = prompt('Укажи степень');
power = Number(power);
let result = 1;
// перепиши с помощью while
for (let i = 1; i <= power; i++) {
    if (i > 8) {
        break;
    }
    result = result * 2;
}
alert(result);

Переписал вот так:

let power = prompt('Укажи степень');
power = Number(power);
let result = 1;
let i = 1;
// перепиши с помощью while
while (i < 8) { 
  i++
}
{
    result = result * 2;
}
alert(result);

Ругается: "Переменной result присваивается неверное выражение". Поясните что не так пожалуйста.


Ответы (1 шт):

Автор решения: ksa

Как вариант...

let power = prompt('Укажи степень');
power = Number(power);
let result = 1;
let i = 0;
// перепиши с помощью while
while (i < power && i++ < 8) { 
    result *= 2;
}
alert(result);
→ Ссылка