每天进步一点点------检查循环学得好不好的小测验"FizzBuzz"

发布时间:2014-10-23 23:30:20
来源:分享查询网

最近在学python,发现这果然是个很方便很贴心的语言,简直不能更好了,顺便就把代码贴在一个帖子好了 import math for i in range(1,100): if i%15==0: print "FizzBuzz" elif i%3==0: print "Fizz" elif i%5==0: print "Buzz" else: print i 调用了math模块之后就可以很方便的使用一些数学的函数,是不是特别简单? 今天发现了一个很有意思的题目,据说有很多老资格的coder都不能在5分钟内写出来,我看到google上有很多高手都用别的语言写,我只会JS,所以就先用if / else 试了一下,发现特别繁琐,然后想起上个礼拜学的switch,就试了一下,不过有点问题,后来请教高手改正了,不过还不是很理解原因.需要注意的是要求严格的case必须写在前面,要不然循环到宽松了case就会自动匹配了,说得浅显点就是如果把单独被3和5整除写在前面就不会再去匹配同时被3和5整除了,我都有试过. 代码如下: for ( var num = 1 ; num < 101 ; num ++){ switch (true) { case num%3===0 && num%5===0 : console.log ("FizzBuzz"); break ; case num%3===0 : console.log ("Fizz"); break ; case num%5===0 : console.log ("Buzz"); break ; default : console.log (num); } } 下面是题目,各位大神可以试试看写一段代码要多久? 在一个范围内,比如1---100,能被3整除的显示"Fizz",能被5整除的显示"Buzz",能同时被3和5整除的则显示"FizzBuzz",其余的不变.

返回顶部
查看电脑版