📅  最后修改于: 2023-12-03 15:15:05.473000             🧑  作者: Mango
Fizz Buzz是一道经典的编程面试题,常用于测试程序员的基本编程能力和逻辑思维。这个问题看似简单,但对于初学者来说可能有一定的挑战性。下面将介绍Fizz Buzz的问题描述、常见解法以及代码示例。
Fizz Buzz的问题描述如下:
对于从1到n之间的每个数字,按照以下规则进行处理:
最直观的解法是使用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问题的介绍,你可以根据自己熟悉的编程语言进行实现,并尝试更多的解法。这道题目对于加深对条件判断和循环的理解非常有帮助,也是学习编程的良好练习题。