LintCode算法题9:Fizz Buzz 问题
要求:
给定整数 n ,按照如下规则打印从 1 到 n 的每个数:
- 如果这个数被3整除,打印
fizz
。 - 如果这个数被5整除,打印
buzz
。 - 如果这个数能同时被
3
和5
整除,打印fizz buzz
。 - 如果这个数既不能被
3
整除也不能被5
整除,打印数字本身
这个直接进行遍历和判断各种情况即可,然后将结果添加到结果中就好啦
注意添加数字本身的时候要将其转换为字符串(str)
示例:
输入:
n = 15
输出:
[
"1", "2", "fizz",
"4", "buzz", "fizz",
"7", "8", "fizz",
"buzz", "11", "fizz",
"13", "14", "fizz buzz"
]
Python代码:
class Solution:
"""
@param n: An integer
@return: A list of strings.
"""
def fizz_buzz(self, n):
# write your code here
result=[]
for i in range(1,n+1):
if i%3==0 and i%5!=0:
result.append("fizz")
elif i%3!=0 and i%5==0:
result.append("buzz")
elif i%3==0 and i%5==0:
result.append("fizz buzz")
else:
result.append(str(i))
return result