如何用Javascript中的if语句修复while循环
嘿,我正在使用javascript进行一个猜谜游戏项目,该项目需要在提示“给我一个介于1和10之间的数字”中输入一个数字。说明包括以下内容: 而猜测并不等于目标 提示进行新的猜测 如果猜测值小于目标值 打印“太低!” 否则,如果猜测值大于目标值 打印“太高!” 其他的 打印“明白了!” 所以我有我的while循环和if条件语句,但我不知道如何在while循环中包含if语句。我的实际结果只是提示我重复猜测,而没有太高的警告!或者太低了!不过,我在猜测正确数字时的else语句似乎有效。多谢各位如何用Javascript中的if语句修复while循环,javascript,html,Javascript,Html,嘿,我正在使用javascript进行一个猜谜游戏项目,该项目需要在提示“给我一个介于1和10之间的数字”中输入一个数字。说明包括以下内容: 而猜测并不等于目标 提示进行新的猜测 如果猜测值小于目标值 打印“太低!” 否则,如果猜测值大于目标值 打印“太高!” 其他的 打印“明白了!” 所以我有我的while循环和if条件语句,但我不知道如何在while循环中包含if语句。我的实际结果只是提示我重复猜测,而没有太高的警告!或者太低了!不过,我在猜测正确数字时的else语句似乎有效。多谢各位 m
min=1;
设max=10;
让target=Math.random()*(max-min+1);
目标=数学楼层(目标)+分钟;
让猜测=(0);
猜测=提示(“给我一个介于1和10之间的数字”);
log(“您的猜测是”+猜测);
while(猜测!=目标){
提示(“再次猜测”);
console.log(猜测);
}
如果(猜测<目标){
警惕(“太低!”);
log(“猜测太低”,猜测);
}否则如果(猜测>目标){
警惕(“太高了!”);
log(“猜测过高”,猜测);
}否则{
警惕(“你明白了!”);
}
您的代码当前正在执行以下操作:
guess
的值。此外,guess
的值与第一次提问时的值相同prompt
返回一个数字,因为任何东西都可以在文本提示中输入
这就是:
// See Note 1.
guess = parseInt(prompt("Give me a number between 1 and 10"), 10);
console.log("Your guess is" + guess);
// 1. Do something forever
while (guess != target){
// 2. store the last answer
guess = parseInt(prompt("Guess again"), 10);
console.log(guess);
// 2b. check the last answer
if (guess < target){
alert("too low!");
console.log("too low guess", guess);
}else if (guess > target){
alert("too high!");
console.log("too high guess", guess);
}
// 3. If the answer is correct, `guess === target` so the loop will end.
}
// See Note 2.
alert("You got it!");
//见注1。
guess=parseInt(提示(“给我一个介于1和10之间的数字”),10);
log(“您的猜测是”+猜测);
// 1. 永远做某事
while(猜测!=目标){
//2.存储最后一个答案
guess=parseInt(提示(“再次猜测”),10);
console.log(猜测);
//检查最后一个答案
如果(猜测<目标){
警惕(“太低!”);
log(“猜测太低”,猜测);
}否则如果(猜测>目标){
警惕(“太高了!”);
log(“猜测过高”,猜测);
}
//3.如果答案正确,`guess===target`那么循环将结束。
}
//见注2。
警惕(“你明白了!”);
注1:如果玩家输入了无法转换为整数的内容,parseInt(,10)
将返回NaN
(不是数字)。您可以测试:isNaN(123)
/isNaN(NaN)
注2:如果玩家一次就正确了,应用程序将不会显示消息,因为“yougottit”在循环中。如果第一次的答案是正确的,循环就永远不会进入。将消息放在循环之外以解决此问题。您没有重新分配猜测值,提示的结果始终是字符串或空值,因此您也应该将其转换为数字“我的实际结果只是提示我重复猜测,而没有提示太高!或太低!”-因为
如果。。。else…
部分不在while
循环中。您必须将if..else内容放在while块中,而不是放在它之后。