Javascript作業(yè)(FizzBuzzWhizz)


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'

按要求可分為兩種情況

  1. 不是3、5、7的倍數(shù),返回輸入的數(shù)值。
  2. 是3、5、7的倍數(shù),按要求返回字符串(Fizz、Buzz、Whizz、FizzBuzz、FizzWhizz、BuzzWhizz、FizzBuzzWhizz)

按照這兩種情況可寫一個測試程序判斷是否可被3、5、7整除,若能則具體討論,若不能就直接輸出輸入的數(shù)字。

function test(Num){
  if(Num%3==0||Num%5==0||Num%7==0){
    let result=run(Num);              //執(zhí)行run()功能函數(shù)
    document.write('</br>'+result)
  }
  else{
    document.write('</br>'+Num)
  }
}

再具體討論num是可被哪些數(shù)整除。
考慮到各種情況都是可3,5,7被整除即加上相應字符串,不可被其中的一個整除即不加,而且是按從3,5到7的順序。所以只需討論三種不同的情況即可。
先定義一個字符串變量

var n='';

如果num可被3整除,那么

if(num%3==0){
    n+="Fizz"     //n=n.concat("Fizz"),,+=和concat用法相似
  } 

同樣的num可被5、7整除

  if(num%5==0){
    n+="Buzz";
    //n=n.concat("Buzz")
  }
  if(num%7==0){
    //n=n.concat("Whizz")
    n+="Whizz";
  }

最后返回字符串n即可


代碼

function run(num){
    var n="";
  if(num%3==0){
    n+="Fizz";
  }
  if(num%5==0){
    n+="Buzz";
  }
  if(num%7==0){
    n+="Whizz";
  }
  return n.toString();
}

function test(Num){
  if(Num%3==0||Num%5==0||Num%7==0){
    let result=run(Num);
    document.write('</br>'+result)
  }
  else{
    document.write('</br>'+Num)
  }
}

test(2)
test(3)
test(5)
test(7)
test(15)
test(21)
test(35)
test(105)

測試結果
2
Fizz
Buzz
Whizz
FizzBuzz
FizzWhizz
BuzzWhizz
FizzBuzzWhizz

總結體會

  • 在開始編程之前考慮輸入什么,要達到怎樣的結果。
  • 再觀察有輸出字符串什么規(guī)律,怎樣可以做到這樣。
  • 有簡單的思路之后再考慮是否可以再優(yōu)化一下或者說更簡單的方式。
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

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