版权声明:本文为博主原创文章,未经允许不得转载。 https://blog.csdn.net/wem603947175/article/details/82732849
写一个程序,输出从 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"
]
Python代码实现:
class Solution:
def fizzBuzz(self, n):
list1 = []
for i in range(1,n+1):
if i %3==0:
if i % 5 == 0:
list1.append("FizzBuzz")
else:
list1.append("Fizz")
elif i %5==0 and i %3!=0:
list1.append("Buzz")
else:
list1.append("%d"%i)
return list1
Python一行解决:
class Solution(object):
def fizzBuzz(self, n):
return [str(i) if (i%3 != 0 and i%5 != 0) else ('Fizz'*(i%3==0) + 'Buzz'*(i%5==0)) for i in range(1, n+1)]