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言語の基本から仕事のやり方まで