题目描述:
写一个程序,输出从 1 到 n 数字的字符串表示。
-
如果 n 是3的倍数,输出“Fizz”;
-
如果 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”
]
解题思路:
由于if 判定只要满足条件,就不会执行后面的语句,所以可以把判断同时为3,5的倍数放在前面,在判断其他的条件。
class Solution:
def fizzBuzz(self, n: int) -> List[str]:
res=[]
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