python FizzBuzz问题

python FizzBuzz问题

1.当n为3的倍数,输出Fizz
2.当n为5的倍数,输出Buzz
3.当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)]
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值