@poniatowski

Prompt и циклы, в чем моя ошибка при решении задачи?

Столкнулся с заданием (можно использовать только циклы и условия без функций и т.д.):

1) Программа самостоятельно определяет два числа в пределах 1-10
2) Затем спрашивает пользователя через Prompt какой результат их умножения.
3) Так 3 раза (3 вопроса)
4) Если ответ не верный, вопрос этот же задается повторно

let firstNumber;
let secondNumber;
let result;
let counter = 0;
let userNumber;



for (let i = 0; i < 3; i++) {
    firstNumber = Math.floor(Math.random() * 10) + 1;
    secondNumber = Math.floor(Math.random() * 10) + 1;
    result = (Number(firstNumber * secondNumber));
    userNumber  = ((prompt(`Каков результат умножения: ${firstNumber} * ${secondNumber} ?`)));

    if (result == userNumber) {
        console.log(result)
    } else {
        userNumber  = ((prompt(`Каков результат умножения: ${firstNumber} * ${secondNumber} ?`)));;
    }
}

Моя проблема в том, что из-за цикла значения в промпте перезаписываются при каждой итерации, если я правильно понимаю.
Как сделать так, чтобы при не совпадении result == userNumber показывался старый промпт и опять проверялось условие?
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
--userNumber = ((prompt(`Каков результат умножения: ${firstNumber} * ${secondNumber} ?`)));
--if (result == userNumber) {
--console.log(result)
--} else {
++do {
--  userNumber = ((prompt(`Каков результат умножения: ${firstNumber} * ${secondNumber} ?`)));;
++  userNumber = +prompt(`Каков результат умножения: ${firstNumber} * ${secondNumber} ?`);
--}
++} while (result !== userNumber);
++console.log(result)';
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы