1. 问题描述:
写一个程序,输出从 1 到 n 数字的字符串表示。
1. 如果 n 是3的倍数,输出“Fizz”;
2. 如果 n 是5的倍数,输出“Buzz”;
3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。
示例:
n = 15,
返回:
[
"1",
"2",
"Fizz",
"4",
"Buzz",
"Fizz",
"7",
"8",
"Fizz",
"Buzz",
"11",
"Fizz",
"13",
"14",
"FizzBuzz"
]
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/fizz-buzz
2. 思路分析:
模拟整个过程即可。
3. 代码如下:
from typing import List
class Solution:
def fizzBuzz(self, n: int) -> List[str]:
res = list()
for i in range(1, n + 1):
if i % 3 == 0 and i % 5 == 0: res.append("FizzBuzz")
elif i % 3 == 0: res.append("Fizz")
elif i % 5 == 0: res.append("Buzz")
else: res.append(str(i))
return res