読者です 読者をやめる 読者になる 読者になる

素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: すかいぷ:javascripter_  か javascripter あっと tsukkun.net skypeのほうがいいです

Python、FizzBuzz

ついさっきPythonをはじめた(教わった)ので、FizzBuzzを書いた。

for i in range(1, 100 + 1):
  if i % 15 == 0:
    print "FizzBuzz"
  else:
    if i % 3 == 0:
      print "Fizz"
    else:
      if i % 5 == 0:
        print "Buzz"
      else:
        print i

sudo easy_install ipython
して、ipythonを立ち上げて、コピペ。
つまづいた所:

  1. インデントはTabでもスペースでもいい。ipythonでTabを入力したい時は、C-v→Tab
  2. 抜けたい時はインデント消して改行
  3. rangeは右端を含まない。
  4. 変数は宣言は必要ない。


で、JavaScriptで書くと下のようになる。Pythonから貰ったジェネレータがあるので、かなり似た構文で書ける。

var range = function range(x, y, interval){
 if (typeof interval != "number")
   interval = 1;
 while(x != y){
   yield x
   x += interval;
 }
}

var print = function print(v){
  (window.console ? console.log : alert)(v);
}

for(let i in range(1, 100 + 1))
  if (i % 15 == 0)
    print("FizzBuzz")
  else
    if (i % 3 == 0)
      print("Fizz")
    else
      if (i % 5 == 0)
        print("Buzz")
      else
        print(i)