Javascript 为什么这种情况不能正常工作?

Javascript 为什么这种情况不能正常工作?,javascript,Javascript,我必须做一个数字猜谜游戏,你有三次尝试去猜1到5之间的数字。在每次猜错之后,它会告诉你还有多少次尝试。当你猜对了,你会收到一条祝贺信息。当你猜不出的时候,你会得到一个信息。然而,我无法得到消息时,你运行的猜测。为什么它不运行 <script type="text/javascript"> var tries=3; alert("Guess the number I'm thinking of between 1 and 5. You've got 3 tries."

我必须做一个数字猜谜游戏,你有三次尝试去猜1到5之间的数字。在每次猜错之后,它会告诉你还有多少次尝试。当你猜对了,你会收到一条祝贺信息。当你猜不出的时候,你会得到一个信息。然而,我无法得到消息时,你运行的猜测。为什么它不运行

<script type="text/javascript">
    var tries=3;
    alert("Guess the number I'm thinking of between 1 and 5. You've got 3  tries.");
    var attempt =  prompt(tries+" tries remaining. Enter your guess.");
    var randomnumber = Math.random() * 5; 
    randomnumber = Math.ceil(randomnumber);
    while (tries>=2){
        if(attempt!=randomnumber){
            tries--;
            prompt("Wrong! You have " + tries + " left ");
        }
        else if(tries<1){
            alert("You have no tries left");
        }
        else {
            alert("Congratulations! You guessed the correct number");
            return;
        }
    }
</script>

var=3;
警惕(“猜猜我想的数字在1到5之间,你已经试了3次了。”);
var trunt=prompt(尝试+“尝试剩余。输入您的猜测”);
var randomnumber=Math.random()*5;
随机数=Math.ceil(随机数);
while(尝试次数>=2){
如果(尝试!=随机数){
尝试--;
提示(“错误!您有“+尝试+”左”);
}

else-if(trytes只有当您有2次以上或正好2次尝试时才进入循环。否则您的if语句不会执行。您可能必须将if与while分开

<script type="text/javascript">
    var tries=3;
    alert("Guess the number I'm thinking of between 1 and 5. You've got 3  tries.");
    var attempt =  prompt(tries+" tries remaining. Enter your guess.");
    var randomnumber = Math.random() * 5; 
    randomnumber = Math.ceil(randomnumber);
    while (tries-1 > 0){
        if(attempt!=randomnumber){
            tries--;
            prompt("Wrong! You have " + tries + " left ");
        }
        else {
            alert("Congratulations! You guessed the correct number");
            return;
        }
    }
    alert("You have no tries left");
</script>

var=3;
警惕(“猜猜我想的数字在1到5之间,你已经试了3次了。”);
var trunt=prompt(尝试+“尝试剩余。输入您的猜测”);
var randomnumber=Math.random()*5;
随机数=Math.ceil(随机数);
而(尝试-1>0){
如果(尝试!=随机数){
尝试--;
提示(“错误!您有“+尝试+”左”);
}
否则{
警报(“祝贺你!你猜对了号码”);
回来
}
}
警报(“您没有剩余的尝试”);

只有在尝试次数超过2次或正好2次时才进入循环。否则,if语句将不会执行。您可能必须将if与while分开

<script type="text/javascript">
    var tries=3;
    alert("Guess the number I'm thinking of between 1 and 5. You've got 3  tries.");
    var attempt =  prompt(tries+" tries remaining. Enter your guess.");
    var randomnumber = Math.random() * 5; 
    randomnumber = Math.ceil(randomnumber);
    while (tries-1 > 0){
        if(attempt!=randomnumber){
            tries--;
            prompt("Wrong! You have " + tries + " left ");
        }
        else {
            alert("Congratulations! You guessed the correct number");
            return;
        }
    }
    alert("You have no tries left");
</script>

var=3;
警惕(“猜猜我想的数字在1到5之间,你已经试了3次了。”);
var trunt=prompt(尝试+“尝试剩余。输入您的猜测”);
var randomnumber=Math.random()*5;
随机数=Math.ceil(随机数);
而(尝试-1>0){
如果(尝试!=随机数){
尝试--;
提示(“错误!您有“+尝试+”左”);
}
否则{
警报(“祝贺你!你猜对了号码”);
回来
}
}
警报(“您没有剩余的尝试”);

问题出在您的检查中
尝试>=2
。我对您的代码进行了一些修改,它可以按要求工作

var tries = 3;
alert("Guess the number I'm thinking of between 1 and 5. You've got 3  tries.");
var attempt = prompt(tries + " tries remaining. Enter your guess.");
var randomnumber = Math.floor(Math.random() * 5);
while (tries-1 > 0) {
    if (attempt != randomnumber) {
        tries--;
        prompt("Wrong! You have " + tries + " left ");
    } else {
        alert("Congratulations! You guessed the correct number");
        return;
    }
}
alert("You have no tries left");
return;
  • 你可以在一行上得到一个随机数

  • 将逻辑分为两层-在进行猜测时,检查猜测是否正确,否则返回“no guesses left”消息


问题出在您的检查中
trys>=2
。我对您的代码进行了一些修改,它可以按要求工作

var tries = 3;
alert("Guess the number I'm thinking of between 1 and 5. You've got 3  tries.");
var attempt = prompt(tries + " tries remaining. Enter your guess.");
var randomnumber = Math.floor(Math.random() * 5);
while (tries-1 > 0) {
    if (attempt != randomnumber) {
        tries--;
        prompt("Wrong! You have " + tries + " left ");
    } else {
        alert("Congratulations! You guessed the correct number");
        return;
    }
}
alert("You have no tries left");
return;
  • 你可以在一行上得到一个随机数

  • 将逻辑分为两层-在进行猜测时,检查猜测是否正确,否则返回“no guesses left”消息


您必须影响
尝试的每次尝试
变量:

<script type="text/javascript">
    var tries=3;
    alert("Guess the number I'm thinking of between 1 and 5. You've got 3  tries.");
    var randomnumber = Math.random() * 5; 
    randomnumber = Math.ceil(randomnumber);
    var attempt;
    var success = false;
    while (tries>0 && !success){
        attempt = prompt(tries+" tries remaining. Enter your guess.");
        tries--;
        if(attempt!=randomnumber){
            alert("Wrong! You have " + tries + " left ");
        } else {
            success = true;
        }
    }
    if(success){
        alert("Congratulations! You guessed the correct number");
    } else {
        alert("You have no tries left");
    }
</script>

var=3;
警惕(“猜猜我想的数字在1到5之间,你已经试了3次了。”);
var randomnumber=Math.random()*5;
随机数=Math.ceil(随机数);
var尝试;
var成功=false;
while(尝试>0&!成功){
尝试=提示(尝试+“尝试剩余。输入您的猜测”);
尝试--;
如果(尝试!=随机数){
警告(“错误!您有“+尝试+”左”);
}否则{
成功=真实;
}
}
如果(成功){
警报(“祝贺你!你猜对了号码”);
}否则{
警报(“您没有剩余的尝试”);
}

您必须影响
尝试的每次尝试
变量:

<script type="text/javascript">
    var tries=3;
    alert("Guess the number I'm thinking of between 1 and 5. You've got 3  tries.");
    var randomnumber = Math.random() * 5; 
    randomnumber = Math.ceil(randomnumber);
    var attempt;
    var success = false;
    while (tries>0 && !success){
        attempt = prompt(tries+" tries remaining. Enter your guess.");
        tries--;
        if(attempt!=randomnumber){
            alert("Wrong! You have " + tries + " left ");
        } else {
            success = true;
        }
    }
    if(success){
        alert("Congratulations! You guessed the correct number");
    } else {
        alert("You have no tries left");
    }
</script>

var=3;
警惕(“猜猜我想的数字在1到5之间,你已经试了3次了。”);
var randomnumber=Math.random()*5;
随机数=Math.ceil(随机数);
var尝试;
var成功=false;
while(尝试>0&!成功){
尝试=提示(尝试+“尝试剩余。输入您的猜测”);
尝试--;
如果(尝试!=随机数){
警告(“错误!您有“+尝试+”左”);
}否则{
成功=真实;
}
}
如果(成功){
警报(“祝贺你!你猜对了号码”);
}否则{
警报(“您没有剩余的尝试”);
}

想想你的循环。当循环结束时,
trys
的值是多少?这与你想要显示“no trys left”时所寻找的
trys
的值有何不同消息。想想你的循环。当循环结束时,
trys
的值是多少?当你想显示“no trys left”消息时,这与你正在寻找的
trys
的值有何不同。你在这段代码中只有两次尝试。你应该删除“-1”从tries@Xatenev您有3次尝试。测试代码。用小提琴编辑。检查while如何工作
tries
变量在循环内递减对不起,您的权利,我的失败-我没有测试您的代码。我没有看到,第一个提示已经在循环外。您在这段代码中只有2次尝试。您应该删除“-1”从tries开始。@Xatenev您有3次尝试..测试代码。在fiddle中编辑。检查while如何工作
tries
变量在循环内递减对不起,您的权利,我的失败-我没有测试您的代码。我没有看到,第一个提示已经在循环外。