📜  Fizz Buzz实施(1)

📅  最后修改于: 2023-12-03 15:15:05.473000             🧑  作者: Mango

Fizz Buzz介绍

Fizz Buzz是一道经典的编程面试题,常用于测试程序员的基本编程能力和逻辑思维。这个问题看似简单,但对于初学者来说可能有一定的挑战性。下面将介绍Fizz Buzz的问题描述、常见解法以及代码示例。

问题描述

Fizz Buzz的问题描述如下:

对于从1到n之间的每个数字,按照以下规则进行处理:

  • 如果数字同时是3和5的倍数,输出"FizzBuzz";
  • 如果数字是3的倍数,输出"Fizz";
  • 如果数字是5的倍数,输出"Buzz";
  • 其他情况下,直接输出数字。
常见解法
方法一:使用if-else语句

最直观的解法是使用if-else语句来判断每个数字是否符合以上规则,并进行对应的输出。代码片段如下所示:

def fizzBuzz(n):
    results = []
    for i in range(1, n+1):
        if i % 3 == 0 and i % 5 == 0:
            results.append("FizzBuzz")
        elif i % 3 == 0:
            results.append("Fizz")
        elif i % 5 == 0:
            results.append("Buzz")
        else:
            results.append(str(i))
    return results
方法二:使用三元表达式

另一种简洁的解法是使用三元表达式来判断条件,并进行输出。代码片段如下所示:

def fizzBuzz(n):
    results = []
    for i in range(1, n+1):
        result = "FizzBuzz" if i % 3 == 0 and i % 5 == 0 else "Fizz" if i % 3 == 0 else "Buzz" if i % 5 == 0 else str(i)
        results.append(result)
    return results
示例

以下是对上述两种解法的示例调用:

n = 15
print(fizzBuzz(n))

运行结果如下:

['1', '2', 'Fizz', '4', 'Buzz', 'Fizz', '7', '8', 'Fizz', 'Buzz', '11', 'Fizz', '13', '14', 'FizzBuzz']

以上就是对Fizz Buzz问题的介绍,你可以根据自己熟悉的编程语言进行实现,并尝试更多的解法。这道题目对于加深对条件判断和循环的理解非常有帮助,也是学习编程的良好练习题。