gpt4 book ai didi

javascript - Codecademy FizzBu​​zz 应用,卡在第 1 步

转载 作者:行者123 更新时间:2023-12-04 23:48:53 25 4
gpt4 key购买 nike

这是我的 Codecamedy's FizzBuzz lesson 代码

var i;
for ( i = 1; i > 20; i++ ) {
"hello"
if ( i % 3 === 0 ) {
if ( i % 5 === 0 ) {
"FizzBuzz";
}
else {
"Fizz";
}
}
else if ( i % 5 === 0 ) {
"Buzz";
}
else {
i;
}
}

我试图首先测试数字 (i) 是否可以被 3 整除。如果是,我想检查它是否也可以被 5 整除。如果两个条件都为真,我希望它说“嘶嘶声”。如果只有第一个条件为真,它应该说“Fizz”。然后,在确定 i 不能被 3 整除后,它应该检查 i 是否能被 5 整除,如果是,则显示“Buzz”。如果不能整除,它应该只显示数字。

如我所料...它没有按预期工作。我犯了哪些非常尴尬的错误?

最佳答案

首先,您的循环甚至还没有开始:

for ( i = 1; i > 20; i++ )

不会迭代一次,因为中间条件最初为假。我想你的意思是:

for ( i = 1; i <= 20; i++ )

"FizzBuzz";

只是 JavaScript 忽略的字符串文字。您需要以某种方式输出此字符串:

console.log("FizzBuzz");

另外,这个 block

else {
i;
}

也没有做任何事情。您想要显示既不能被 3 也不能被 5 整除的数字吗?

else {
console.log(i);
}

并且,类似地,顶部循环中的 “hello” 应该做什么?


从更积极的 Angular 来看,我看到您使用的是严格相等:

if ( i % 5 === 0 )

这是一个非常非常好的习惯。如果您不小心,非严格相等运算符 == 将进行各种隐式转换。 始终使用严格相等,除非您有意希望这些隐式转换发生。

关于javascript - Codecademy FizzBu​​zz 应用,卡在第 1 步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8797834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com