Python基礎文法を使ってFizzBuzz問題を解いてみよう【プログラミング入門】

プログラミング
スポンサーリンク

スポンサーリンク

はじめに

こんにちは。将棋と筋トレが好きな、学生エンジニアのゆうき(@engieerblog_Yu)です。

エンジニアになりたい方は入社テストやインターンのコーディングテストなどで、FizzBuzz問題にお目にかかることが多いんではないでしょうか?

FizzBuzz問題はプログラミング的思考を身につける問題として、とても良いと思うので今回は記事にしていこうと思います。

FizzBuzz問題とは?

FizzBuzz問題とは、スタックオーバーフローの共同経営者であるJeff Atwoodが提唱した問題です。

プログラマ志願者がコーディングができるか見分けるためによく使われます。

FizzBuzz問題の問題はこちらです。

1から100までの数字を出力するプログラミングを書いてください。ただし、数字が3の倍数の時は数字の代わりにFizzと出力し、5の倍数の時は数字の代わりにBuzzと出力し、3と5の倍数のときは、FizzBuzzと出力すること。

Python入門 FizzBuzz問題を解いてみよう!
ゆうき
ゆうき

どんなコードを書けばいいのか、少し考えてみてくださいね。

実装コード

それでは実装していきます。

for i in range(1,101):
  if i % 3 == 0 and i % 5 == 0:
    print("FizzBuzz")
  elif i % 3 == 0:
    print("Fizz")
  elif i % 5 == 0:
    print("Buzz")
  else:
    print(i)

output:

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

プログラミング的思考のコツ

問題を見たときに、無意識にこのようなことを考えることができると良いです。

3の倍数かつ5の倍数→FizzBuzz

3の倍数→Fizz

5の倍数→Buzz

それ以外→数字を出力

場合分けがあるので、if文とfor文が必要だということがわかると思います。

終わりに

プログラマの間ではいかに短いコードで実装するか、「%」記号を使わずに実装する、などの制約をつけて解いている方も多いみたいです。

FizzBuzz問題が解ければ立派なプログラマーになるための、入り口に立ったと言えるでしょう。

それではまた次回の記事でお会いしましょう。

ねこすけ
ねこすけ

他にもいろんな投稿があるにゃ。

コメント

タイトルとURLをコピーしました