猫になりたい

コンサルのデータ分析屋、計量経済とか機械学習をやっています。pyてょnは3.7を使ってマスコレルウィンストングリーン。

PythonでFizzBuzz

暇つぶしにPythonでFizzBuzzを作ってみた。

FizzBuzzとはWikipedia先生によるとアメリカの言葉遊びの一種で

プレイヤーは円状に座る。最初のプレイヤーは「1」と数字を発言する。次のプレイヤーは直前のプレイヤーの次の数字を発言していく。ただし、3で割り切れる場合は「Fizz」(Bizz Buzzの場合は「Bizz」)、5で割り切れる場合は「Buzz」、両者で割り切れる場合(すなわち15で割り切れる場合)は「Fizz Buzz」(Bizz Buzzの場合は「Bizz Buzz」)を数の代わりに発言しなければならない。発言を間違えた者や、ためらった者は脱落となる。

というものらしい。
飲み会の時の山手線ゲームみたいなやつ(もしくは3の倍数のときだけ阿呆になるあれ)という認識でいいのかな?兎も角コードは以下の通り

#今回は1~30の範囲まで
for i in range(1, 30):
    if i%3 == 0 and  i%5 != 0:
        print(i, "fizz")
    if i%5 == 0 and  i%3 != 0:
        print(i,"buzz")
    if i%5 == 0 and i%3 == 0:
        print(i,"fizz buzz")

結果

3 fizz
5 buzz
6 fizz
9 fizz
10 buzz
12 fizz
15 fizz buzz
18 fizz
20 buzz
21 fizz
24 fizz
25 buzz
27 fizz

ちゃんと出来ている。 Javaとかでは標準出力から値を入力させるらしいけどpythonなのでそこは省略。