【问题标题】:can you let me know what im doing wrong?你能让我知道我做错了什么吗?
【发布时间】:2021-03-25 19:43:38
【问题描述】:

    var target = Math.floor(Math.random() * 11);
    var guess;
    while(guess !== target){
        guess=  Math.floor(Math.random() * 11);
        console.log(target);
        target = Math.floor(Math.random()*11);
    }
    console.log(guess);

所以我目前正在申请编程训练营,但我陷入了这个任务!

他们这样问:

您的编辑器当前有一个声明为目标的变量,将为其分配一个 0 到 10 之间的随机数。将目标打印到控制台。 编写一个小程序,不断猜测 0 到 10 之间的数字并打印出来,直到猜测的数字与目标相同。

控制台给我的错误是

确保你初始化了变量guess

【问题讨论】:

  • 您的代码运行良好。
  • 不要在循环中修改target
  • 每次猜测后目标都改变有点奇怪。你可以一直猜测 1 并最终得到它。
  • 另外,你应该在循环前打印target,在循环内打印guess,而不是target

标签: javascript loops while-loop


【解决方案1】:

我认为 while 函数中的正确运算符是 '!=' 替换为 '!=='。

【讨论】:

    【解决方案2】:

    不要在循环内修改target。很难击中移动的目标。此外,do/while 循环将避免未初始化的变量:

    var target = Math.floor(Math.random() * 11);
    console.log(target);
    var guess;
    do {
        guess = Math.floor(Math.random() * 11);
        console.log(guess);
    } while (guess !== target);

    【讨论】:

    • Ty Johnny,但仍然给我同样的错误
    • 也许评委希望您将 guess 初始化为某些东西 - 即使此代码没有必要。 var guess = 0;
    • 我这样做了,它出现的错误是猜测:应该是一个整数随机数
    • 求你的帮助,我现在明白了!
    猜你喜欢
    • 2014-02-16
    • 1970-01-01
    • 1970-01-01
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多