用JavaScript编写数字猜测程序

Writing a Number Guessing program in JavaScript

本文关键字:程序 数字 JavaScript      更新时间:2023-09-26

这是我试图解决的问题,这是我所拥有的。我不确定我做错了什么,但它不会在WebStorm:中运行

alert("This is question 1");
var rndmNum = Math.rndmNum();
rndmNum = rndmNum * 100 + 1;
var i = 0;
do {
  var rndmNum = prompt;
  function guessNum(guess) {
    if (guess < rndmNum);
  }
  alert("Your guess is too low");
} else if (guess > rndmNum) {
  alert("Your guess is too high");
}
<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title>Question 1</title>
</head>
<body>
  <h1>Question 1</h1>
  <p>
    This is a page used to run/execute some JavaScript.
  </p>
  <p>
    Next <a href="question2.html">question</a>.
  </p>
  <p>
    Return <a href="index.html">home</a>.
  </p>
</body>
</html>

有人认为我做的事情有什么问题吗?或者有什么建议吗?感谢

p>出现语法错误:
function guessNum(guess)  {
    if (guess<rndmNum);
}
    alert ("Your guess is too low");
}
else if (guess>rndmNum)  {
    alert("Your guess is too high");
}

应为:

function guessNum(guess)  {
    if (guess<rndmNum) {
        alert ("Your guess is too low");
    }
    else if (guess>rndmNum)  {
        alert("Your guess is too high");
    }
}

当if语句被警报分隔时,您有一个else-if。

还有

  1. 括号{}未正确闭合
  2. do在语法上不正确或不需要
  3. Math.rndmNum()不是一个真正的方法,如果您想要Math.random()

我只是简单地看了一下。我真的不赞成回答家庭作业问题,但我会为你提出一个问题。

如果有人在数字之外输入了什么呢?你会检查答案是低还是高,但你永远不会确定它实际上是一个数字。

你可能需要考虑在检查之前验证被检查的答案是一个数字,或者只检查你想要的答案。

此外,var i = 0。我假设您稍后将在代码中使用它,但i几乎是一个通用的JavaScript变量。

您正在做的是将全局变量i设置为=0,并且很可能会在代码中的其他地方进行更改。然后,您可能会运行一个for循环来重写i,或者您可能有一个扩展来重写它

考虑更唯一地命名变量,或者保留不是函数或循环唯一的变量的范围。

首先。如果要生成随机数,请使用:Math.random(),因为Math.rndmNum是未定义的

提示是功能,要使用它,您应该写:

var rndmNum = prompt('geuss a number');

将随机数从浮点转换为整数:

rndmNum = Math.floor(rndmNum * 100 +1);

和do while循环应该是:

do  {
    var rndmNum = prompt('geuss a number');;
    function guessNum(guess)  {
        if (guess<rndmNum){
            alert ("Your guess is too low");
        }else if (guess>rndmNum)  {
            alert("Your guess is too high");
       }
    }
   i++;
}while(i<10) // number of guesses