搜尋感興趣的網誌

所有文章連結

2022年3月3日 星期四

Hacker Rank FizzBuzz Solution by Python

 


今天的題目是HackerRank的測試題目,一開始寫的時候本來想說應該不難,真的寫時才發現List開頭的0要怎麼弄阿..而且限制時間好像不到十分鐘,所以是時間到了之後才解出來,看樣子還有好長的路要走

 

解這些題目時,並不是甚麼最佳化解,出發點是以能了解題目在說甚麼,解題方式是目前自己可以理解並解答完成的模式去走,先解的出來,未來再一步步朝著更高一階去進行,所以請別太苛責啦!!

 

小雷的FizzBuzz Solution : 


'''
題目 :
3與5的倍數 >> FizzBuzz
只有3 >> Fizz
只有5 >> Buzz
都沒有 >> i

範圍 : 0 < n < 2*10^5

解題方向 :
含頭不含尾零要去除,轉換list時尾數+1
分別計算3與5的字詞再做輸出判斷
'''

def FizzBuzz(n) :
    # 增加尾數
    n = n + 1

    # 從1開始計算並轉換為list
    ran_n = list(range(1, n))

    # 判斷題目範圍
    if 0 < n < 2*10**5 :
        for i in range(len(ran_n)):
            # 計算3與5的餘數
            fizz = ran_n[i] % 3
            buzz = ran_n[i] % 5
            # 判斷輸出哪項字詞
            if fizz == 0 and buzz == 0:
                print("FizzBuzz")
            elif fizz == 0 and buzz != 0 :
                print("Fizz")
            elif buzz == 0 and fizz != 0:
                print("Buzz")
            else :
                print(ran_n[i])
    else :
        print("Error n")
       

if __name__ == "__main__" :
    n = int(input("enter num : "))
    FizzBuzz(n)

沒有留言:

張貼留言

其他文章

看看精選文章

納希克房價分析 | Nashik Apartment Price Analyze – 語法解析(上)

  這次 Nashik 的房價分析有上傳至 Kaggle ,有興趣的朋友可以前往閱覽, RMarkdown PDF 報告存放在 Google 雲端,程式碼則是存放於 Github ,照慣例會分享好用的函式語法,雖說基本的 Packages 與語法可能很多人都會完整的閱覽,但是實際...