题目描述
写一个程序,输出从 1 到 n 数字的字符串表示。
-
如果 n 是3的倍数,输出“Fizz”;
-
如果 n 是5的倍数,输出“Buzz”;
-
如果 n 同时是3和5的倍数,输出 “FizzBuzz”。
示例:
n = 15,
返回:
[
“1”,
“2”,
“Fizz”,
“4”,
“Buzz”,
“Fizz”,
“7”,
“8”,
“Fizz”,
“Buzz”,
“11”,
“Fizz”,
“13”,
“14”,
“FizzBuzz”
]
思路分析
- 唯一需要提醒的是,是否是15的倍数的判断条件必须放到最前面,如果放到后面的话,这个 if 语句就没有用了,因为15的倍数一定是3和5的倍数。
代码示例
class Solution(object):
def fizzBuzz(self, n):
"""
:type n: int
:rtype: List[str]
"""
result = []
for i in range(n):
if (i+1) % 15 == 0:
result.append('FizzBuzz')
elif (i+1) % 3 ==0:
result.append('Fizz')
elif (i+1) % 5 == 0:
result.append('Buzz')
else:
result.append(str(i+1))
return result