【发布时间】:2013-06-20 20:57:10
【问题描述】:
我正在尝试编写一个 Fizz Buzz 脚本,使用 while 循环在数字 1-100 和 echo 之间循环到屏幕。
我正在使用模运算符来查找一个数字是否是以下的倍数:
- 3 在这种情况下,它与 Fizz 相呼应,
- 5 在这种情况下,它与 Buzz 相呼应,
- 或者如果它是 3 和 5 的倍数,则它与 FizzBuzz 相呼应
我已经编写了下面的代码,测试了它的所有部分,它似乎可以工作,但是当我运行脚本时,它陷入了一个无限循环,回显Fizz。
$i = 1;
while ($i <= 100) {
if ((3 % $i) === 0) {
echo 'Fizz';
$i = $i++;
} else if ((5 % $i) === 0) {
$i = $i++;
echo 'Buzz';
} else if ( ((3 % $i) === 0) && ((5 % $i) === 0)){
echo 'FizzBuzz';
} else {
echo $i++;
}
}
知道我错了吗?
【问题讨论】:
-
$i % 3。而且你不需要第三个和第四个条件 -
应该标记homework吗?
-
@cbuckley: meta.stackexchange.com/questions/147100/…
-
“我的代码不起作用,错误在哪里”风格的问题被视为离题。你试过什么?你具体卡在哪里了?你不明白什么。如果您能提炼出这一点,它将使您的体验和整个社区的体验都变得更好。但就目前而言,这个问题可能需要一些改进......
标签: php while-loop fizzbuzz