如何实现双if条件判断,不满足则执行第三逻辑?(附FizzBuzz示例)
实现指定逻辑的FizzBuzz方案
核心思路是先通过空字符串/缓冲区收集输出内容,依次检查两个条件并追加对应文本,若最终内容为空则追加数字,最后统一输出并换行。以下是几种主流编程语言的实现:
Python实现
for i in range(1, 101): # 示例遍历1到100 output = "" if i % 5 == 0: output += "Fizz" if i % 7 == 0: output += "Buzz" if not output: output = str(i) print(output, end="") print() # 最后统一输出换行
逻辑说明:初始化空字符串output,依次匹配两个条件并追加对应文本;若循环结束后output仍为空,说明两个条件都不满足,将数字转为字符串赋值;通过print(..., end="")实现无换行输出,循环完成后单独打印换行。
JavaScript实现
let output = ""; for (let i = 1; i <= 100; i++) { if (i % 5 === 0) { output += "Fizz"; } if (i % 7 === 0) { output += "Buzz"; } if (!output) { output += i; } } console.log(output); // 统一输出并自动换行
逻辑说明:用空字符串output收集所有内容,遍历过程中按条件追加文本;最后通过console.log一次性输出,该方法默认自带换行。
Java实现
public class FizzBuzz { public static void main(String[] args) { StringBuilder output = new StringBuilder(); for (int i = 1; i <= 100; i++) { if (i % 5 == 0) { output.append("Fizz"); } if (i % 7 == 0) { output.append("Buzz"); } if (output.length() == 0) { output.append(i); } } System.out.println(output); // 统一输出换行 } }
逻辑说明:使用StringBuilder高效拼接文本(避免频繁创建字符串对象),依次匹配条件追加内容;通过length()判断是否为空,为空则追加数字;最后用System.out.println输出,自带换行。
内容的提问来源于stack exchange,提问作者Declan Sales
相关产品推荐
相关产品推荐

