Написание подсказки внутри цикла while

Я хочу, чтобы код продолжался, только если пользователь вводит камень, бумагу или ножницы, но, кажется, он продолжается после повторного ввода любого ввода во второй раз, несмотря на то, что он проходит условие в цикле while. Например, если я наберу "asdf", он попросит меня повторно ввести ввод, но если я снова выполню "asdf", он выйдет из цикла while и выйдет из системы "asdf". Я хочу, чтобы он продолжал подсказывать пользователю, пока он не введет "камень", "бумага" или "ножницы"

var userChoice = prompt("Enter rock, paper, or scissors", "rock").toLowerCase();


while (userChoice !== "rock" && userChoice !== "paper" && userChoice !== "scissors" ) {
  userChoice = prompt("renter Please");
}

console.log(userChoice);

2 ответа

Решение

Поэтому, если пользователь повторно входит в систему более одного раза, вы возвращаете false или выходите из системы.

     var userChoice = prompt("Enter rock, paper, or scissors").toLowerCase();
        while (userChoice != "rock" && userChoice != "paper" && userChoice !=
            "scissors") {
            userChoice = prompt("renter Please");
           
        }
        console.log(userChoice)

Как только вы назначите userChoice значению "paper", "scissors" или "rock", его значение останется таким же, если его не изменить, поэтому цикл while не перезапустится.

Попробуйте после того, как вы запустите любой код после цикла while, добавьте что-то вроде этого.

while (userChoice !== "rock" && userChoice !== "paper" && userChoice !== "scissors" ) {
  userChoice = prompt("renter Please");
}

console.log(userChoice);

userChoice = 0;

Это будет работать только если ваш код вложен в другой цикл

loop{
    var userChoice = prompt("Enter rock, paper, or scissors", "rock").toLowerCase();

    var userChoice = prompt("Enter rock, paper, or scissors", "rock").toLowerCase();


    while (userChoice !== "rock" && userChoice !== "paper" && userChoice !== "scissors" ) {
      userChoice = prompt("renter Please");
    }

    console.log(userChoice);
    userChoice = 0;
}
Другие вопросы по тегам