用 Python 替换 Fizz、Buzz 的 3 和 5 的倍数


假设我们有一个数字 n。我们必须找到一个表示从 1 到 n 的所有数字的字符串,但我们需要遵循一些规则。

  • 当数字同时被 3 和 5 整除时,用 Fizz 代替这个数字

  • 当数字被 5 整除时,用 Buzz 代替这个数字

  • 当数字同时被 3 和 5 整除时,用 FizzBuzz 代替这个数字

为了解决此问题,我们将按以下步骤进行操作:

  • 对于 1 到 n 之间的所有数字,
    • 如果数字同时被 3 和 5 整除,则输出“FizzBuzz”
    • 否则,如果数字被 3 整除,则输出“Fizz”
    • 否则,如果数字被 5 整除,则输出“Buzz”
    • 否则,将数字写成字符串

让我们看看以下实现以获得更好的理解:

示例

 现场演示

class Solution(object):
   def fizzBuzz(self, n):
      result = []
      for i in range(1,n+1):
         if i% 3== 0 and i%5==0:
            result.append("FizzBuzz")
         elif i %3==0:
            result.append("Fizz")
         elif i% 5 == 0:
            result.append("Buzz")
         else:
            result.append(str(i))
      return result
ob1 = Solution()
print(ob1.fizzBuzz(15))

输入

15

输出

['1', '2', 'Fizz', '4', 'Buzz', 'Fizz', '7', '8', 'Fizz', 'Buzz', '11', 'Fizz', '13', '14', 'FizzBuzz']

更新于:2020 年 9 月 23 日

5K+ 浏览量

开启您的职业生涯

完成课程并获得认证

开始
广告