gpt4 book ai didi

javascript - 带 for 循环的 Fizzbuzz 游戏

转载 作者:行者123 更新时间:2023-12-03 10:53:31 24 4
gpt4 key购买 nike

我正在尝试执行一个函数,在我的 console.log 中打印 1-27 之间的数字。

当一个数字可以被3整除时,应该用“Fizz”替换该数字
当一个数字可以被 5 整除时,将其替换为“Buzz”。
如果数字可以同时被 3 和 5 整除,则将其替换为“Fizzbuzz”

引用:http://en.wikipedia.org/wiki/Fizz_buzz )

这是我的代码:

 var fizzbuzz = function(start,stop) {
for (var x=1;x <= stop; x++)
var string =',';
if (x%3 == 0) {
string += 'Fizz';
}
if (x%5 == 0){
string += 'Buzz';
}
if (x%5 && x%3){
string += 'Fizzbuzz';
}
return string;
};

Console.log 给了我“,”,我不确定我做错了什么。

只是为了澄清。我希望我的答案打印出来 1,2,Fizz,4,Buzz,Fizz,7,8,Fizz,Buzz,11,Fizz,13,14,Fizz Buzz,16,17,Fizz,19,Buzz ,Fizz,22,23,Fizz,Buzz,26,Fizz 等等,具体取决于 If 语句中的“stop”。

最佳答案

Valentins 评论是正确的,您确实需要在循环周围添加括号。然而,您还在循环的每次迭代中重新定义字符串 var。

最后一个 if 也会使输出有点错误,例如 15 会命中所有 3 个语句并打印 FizzBu​​zzFizzBu​​zz

所以选择类似的东西

var fizzbuzz = function(start,stop) {
var string = '';
var addComma = false;
for (var x=1;x <= stop; x++){
addComma = false;
if (x%3 == 0) {
string += 'Fizz';
addComma = true;
}
if (x%5 == 0){
string += 'Buzz';
addComma = true;
}
if(addComma && x!== stop){
string+=','
}
}
return string;
};

这不是跟踪在何处添加逗号的最佳方法,但它可以完成任务。

关于javascript - 带 for 循环的 Fizzbuzz 游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28344007/

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