FizzBuzzWhizz作業(yè)

1.問題引入

FizzBuzzWhizz 需求:

when run(3) return 'Fizz'

when run(5) return 'Buzz'

when run(7) return 'Whizz'

when run(3 * 5) return 'FizzBuzz'? //run 的參數(shù)為 3和5共同的倍數(shù)

when run(3 * 7) return 'FizzWhizz'? //run 的參數(shù)為 3和7共同的倍數(shù)

when run(5 * 7) return 'BuzzWhizz'? //run 的參數(shù)為 5和7共同的倍數(shù)

when run(3 * 5 * 7) return 'FizzBuzzWhizz'? //run 的參數(shù)為 3、5和7共同的倍數(shù)

其余情況:

when run(n) return n? // n 可以為 非 3、5、 7或3、5、7的倍數(shù)的數(shù)字 如:run(2) return '2'

作業(yè)要求:

1.通過document.write()方法,將以上需求的每一條調(diào)用結(jié)果打印出來,結(jié)果會在屏幕右邊顯示

2.為每一條需求寫一個測試

2.轉(zhuǎn)化成自己的語言

傳遞一個數(shù)num,返回一個值

當num=3,輸出顯示 Fizz

? num=5,輸出顯示Buzz

? .......

num為幾個數(shù)的倍數(shù)(暫考慮3,5,7)時,輸出這幾個數(shù)單獨存在時的輸出組合。

如num=3*5;輸出FizzBuzz。除此以外,輸出輸入的數(shù)值。

3.思路

? ? ? 典型的“如果就”事件。在相應的可能情況出現(xiàn)相應的結(jié)果。一開始想到if{}else語句,雖然思路簡單,但并沒有多少簡潔之處。會有很多重情況。又看到公倍數(shù)的結(jié)果是各自倍數(shù)的“疊加”,所以想到分開拼接為好。

4.代碼

var test=function (num) {

var a=(num%3==0) ? 'Fizz' : ' ';

var b=(num%5==0)? 'Buzz' : ' ';

var c=(num%7==0)? 'Whizz' :' ';

if((a==0)&&(b==0)&&(c==0))

document.write(num);

else

{document.write(a+b+c);}

document.write("<br>");

}

test(3);

test(5);

test(7);

test(105);

test(3*7);

test(42);

test(11);

5.運行結(jié)果


運行截圖

6.個人感悟

? ? ? ??題目實現(xiàn)的目的很簡單。但方法肯定多種多樣。自己也試了很多種方法,最后覺得提交的還算簡潔。但在如何靈活地用更好的編程思維來快速實現(xiàn)目標,讓代碼更簡潔、高效。還需要不懈的努力。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容