Как получить javascript, чтобы ответить на вопрос установленное число раз - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь написать простую программу, которая просит пользователя угадать случайное число установленное число раз. Пока у меня есть следующее:

<!DOCTYPE html>
<html>
<head>
    <title>Decisions and Loops</title>
</head>
<body>

</body>
<script>

var rNum = Math.ceil(Math.random() * 30);

var myInput = Number (prompt ("Please enter your Guess: "));


if (myInput == rNum) {
    alert("Good guess");
    } 
    else if (myInput >= rNum){
        alert((prompt ("Sorry, guess if too low, try again"));
    } 
    else {
    alert((prompt ("Sorry, guess if too high, try again"));
    }

</script>
</html>

Два вопроса 1. По какой-то причине это не работает. 2. Как заставить программу повторять циклы несколько раз? Любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 24 февраля 2020
var rNum = Math.ceil(Math.random() * 30);

var myInput;
var numTimesToAsk = 3;

for (var i = 0; i < numTimesToAsk; i++) {
    myInput = Number (prompt ("Please enter your Guess: "));
    if(myInput === rNum) {
      alert("Good guess");
      break; //if you want the loop to stop here since they guessed correctly
    } else if (myInput >= rNum) {
      alert("Sorry, guess is too low, try again");
    } else {
      alert("Sorry, guess is too high, try again");
    }
}
0 голосов
/ 24 февраля 2020

Базовая c реализация с несколькими исправлениями c может выглядеть так:

// To limit the number of prompts, or else loop might go on forever
var max_try = 5;

function ShowQuiz() {
   var rNum = Math.ceil(Math.random() * 30);
   var myInput = Number(prompt("Please enter your Guess: "));

   if (myInput == rNum) {
      alert("Good guess");
   } else if (myInput < rNum) {
      alert("Sorry, your guess is too low, try again");
      if (--max_try > 0) ShowQuiz()
   } else {
      alert("Sorry, your guess is too high, try again");
      if (--max_try > 0) ShowQuiz()
   }
}

ShowQuiz();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...