第96期-基礎結構:字串 Fizz Buzz
阿新 • • 發佈:2022-01-06
1 問題描述
寫一個程式,輸出從 1 到 n 數字的字串表示。
-
如果n是3的倍數,輸出“Fizz”;
-
如果n是5的倍數,輸出“Buzz”;
-
如果n同時是3和5的倍數,輸出 “FizzBuzz”。
示例 1:
輸入:n = 15
輸出:["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]
示例 2:
輸入:n = 5
輸出:['1', '2', 'Fizz', '4', 'Buzz']
初始程式碼
from typing import ListView Codeclass Solution: def fizzBuzz(self, n: int) -> List[str]: #在此之間填寫程式碼 print(Solution().fizzBuzz(15)) print(Solution().fizzBuzz(5))
2 解題思路
- 標籤:字串
- 就像你每次玩 FizzBuzz 那樣,你只需要判斷這個數是能被 3 整除? 還是能被 5 整除? 或者是都能被整除。
- 初始化一個空的答案列表。
- 遍歷 1 ... N。
- 對於每個數,判斷它能不能同時被 3 和 5 整除,如果可以就把 FizzBuzz 加入答案列表。
- 如果不行,判斷它能不能被 3 整除,如果可以,把 Fizz 加入答案列表。
- 如果還是不行,判斷它能不能被 5 整除,如果可以,把 Buzz 加入答案列表。
- 如果以上都不行,把這個數加入答案列表。
#3 解題方法
from typing import List class Solution: def fizzBuzz(self, n: int) -> List[str]: i=1 a=[] while i<=n: if i%3==0 and i%5==0:a.append('FizzBuzz')View Codeelif i%3==0:a.append('Fizz') elif i%5==0:a.append('Buzz') else:a.append(str(i)) i+=1 return a print(Solution().fizzBuzz(15)) print(Solution().fizzBuzz(5))
第1-3,15-16行:題目中已經給出的資訊,執行程式碼時要根據這些程式碼進行編輯
第4行:建立變數i用於索引
第5行:定義空列表a用於存放結果
第6行:當i<=n的時候,執行迴圈
第7行:判斷它能不能同時被 3 和 5 整除,如果可以就把 FizzBuzz 加入答案a列表
第8行:如果不行,判斷它能不能被 3 整除,如果可以,把 Fizz 加入答案a列表
第9行:如果還是不行,判斷它能不能被 5 整除,如果可以,把 Buzz 加入答案a列表
第10行:如果以上都不行,把這個數加入答案a列表
第11行:i+=1用於下次迴圈
第12行:返回答案a列表
程式碼執行結果為: