
FizzBuzz とは
元々は数人で遊ぶシンプルなゲーム。
1から順番にカウントアップして発言していき、3で割り切れる数のときは「Fizz」、5で割り切れる数の時は「Buzz]と発言していく。
また3と5の両方で割り切れる場合は「Fizz Buzz」と発言していく。
このシンプルなゲームをプログラミングで書こうというのが「Fizz Buzz問題」。
Fizz Buzz問題が書けるかで能力判断をしたり、IT企業の入社試験にも利用されている。
実際に書いてみた
for i in range(1,101):
    if i%3==0:
        if i%5==0:
            print('FizzBuzz')
        else:
            print('Fizz')
    elif i%5==0:
        print('Buzz')
    else:
        print(i)
何も考えずに(余計なことは考えずに) FizzBuzz 書いてみました。
人によって仕上がりは様々ですが、大体こんな感じになると思います。
言葉でフローを書くと
①for文で1から100までのループを作ります。
②if文で3で割り切れるのかの判断。割り切れれば、5で割り切れるかの判断。
割り切れれば「FizzBuzz」を出力、割り切れなければ「Fizz」を出力。
③if文で3で割り切れなければ、5で割り切れるかの判断。
割り切れれば「Buzz」を出力、割り切れなければ数字を出力。
言葉で書くとこんな感じになりました。
出力結果
1 
2
Fizz
4
Buzz Fizz 
7 
8 
Fizz 
Buzz 
11 
Fizz 
13 
14 
FizzBuzz 
16 
17 
Fizz 
19 
Buzz 
Fizz 
22 
23 
Fizz 
Buzz 
26 
Fizz 
28 
29 
FizzBuzz 
31 
32 
Fizz 
34 
Buzz 
Fizz 
37 
38 
Fizz 
Buzz 
41 
Fizz 
43 
44 
FizzBuzz 
46 
47 
Fizz 
49 
Buzz 
Fizz 
52 
53 
Fizz 
Buzz 
56 
Fizz 
58 
59 
FizzBuzz 
61 
62 
Fizz 
64 
Buzz 
Fizz 
67 
68 
Fizz 
Buzz 
71 
Fizz 
73 
74 
FizzBuzz 
76 
77 
Fizz 
79 
Buzz 
Fizz 
82 
83 
Fizz 
Buzz 
86 
Fizz 
88 
89 
FizzBuzz 
91 
92 
Fizz 
94 
Buzz 
Fizz 
97 
98 
Fizz 
Buzz
シンプルに書いてみました。世の中にはこれを1行で表現してしまう人もいるようです。

独学プログラマー Python言語の基本から仕事のやり方まで