python FizzBuzz问题

来源:互联网 发布:wps excel 数据分析 编辑:程序博客网 时间:2024/06/07 00:51

python FizzBuzz问题

1.当n为3的倍数,输出Fizz2.当n为5的倍数,输出Buzz3.当n为15的倍数,输出FizzBuzz其他时候输出相应数字的字符串,如1==>"1"

方法一:最笨的方法;时间与空间复杂度都为O(n)

class Solution(object):    def fizzBuzz(self, n):        """        :type n: int        :rtype: List[str]        """        list_str=[]        for num in range(1,n+1):            if (num%5 == 0)&(num%3 == 0):                list_str.append('FizzBuzz')            elif num%5 == 0:                list_str.append('Buzz')            elif num%3 == 0:                list_str.append('Fizz')            else:                list_str.append(str(num))        return list_str

方法二:列表循环式,极其简单

class Solution(object):    def fizzBuzz(self, n):       return ['Fizz' * (not i % 3) + 'Buzz' * (not i % 5) or str(i) for i in range(1, n+1)]
原创粉丝点击