1. 程式人生 > >LintCode 9.Fizz Buzz 問題

LintCode 9.Fizz Buzz 問題

 

9. Fizz Buzz 問題

中文English

給你一個整數n. 從 1 到 n 按照下面的規則列印每個數:

  • 如果這個數被3整除,列印fizz.
  • 如果這個數被5整除,列印buzz.
  • 如果這個數能同時被35整除,列印fizz buzz.
  • 如果這個數既不能被 3 整除也不能被 5 整除,列印數字本身。

樣例

比如 n = 15, 返回一個字串陣列:

[
  "1", "2", "fizz",
  "4", "buzz", "fizz",
  "7", "8", "fizz",
  "buzz", "11", "fizz",
  "13", "14", "fizz buzz"
]

挑戰

你是否可以只用一個 if 來實現

class Solution:
    """
    @param n: An integer
    @return: A list of strings.
    """
    def fizzBuzz(self, n):
        list = [];
        for i in range(1,n+1):
            if i%3==0 and i%5==0:
                list.append("fizz buzz");
            elif i%5 == 0:
                list.append("buzz");
            elif i%3 == 0:
                list.append("fizz");
            else :
                list.append(str(i));
        return list;

歡迎大神指正完善思路,不吝賜教,由衷感激,謝謝!