ゆる~くだらだら

日常の思ったことをてきと~に書くブログ

【プログラミング日記】Pythonを使ったFizzBuzzプログラムの書き方

f:id:hiropones:20190826153306j:plain



はい、ど〜も〜。


今回は、有名なFizzBuzzプログラムをPythonで書いていきます。FizzBuzzとは、3の倍数ならFizzを返し、5の倍数ならBuzz、15の倍数ならFizzBuzzを返すというもの。


では、早速書いてゆきます。


・1〜50までを出力してみる

とりあえず、1〜50までの数字を出力してみます。10とかだとFizzBuzzが出ないんで、多めに出します。

for hatena in range(1, 51):
      print(hatena)

hatenaに1〜50の数字を入れて、出力するというコードです。ここに中身を入れていきます。

・3の倍数Fizzでを返す

3の倍数は3で割ったときに0になるんで、次のように書けます。

if hatena % 3 ==0:
   print("Fizz")

これで、3で割れるときにFizzを返すプログラムができました。

・5の倍数でBuzzを返す

次もさっきと同じように書きます。

elif hatena % 5 == 0:
      print("Buzz")

・15の倍数でFizzBuzzを返す

次に15の倍数の時。んで、それ以外の時はelseで返すようにします。

elif hatena % 15 ==0:
      print("FIzzBuzz")

else:
     print(hatena)

最終的にこうなります。

for hatena in range(1, 51):
    if hatena % 3 == 0:
        print("Fizz")
    elif hatena % 5 == 0:
        print("Buzz")
    elif  hatena % 15 == 0:
        print("FizzBuzz")
    else:
        print(hatena)

これで実行するとこうなります。

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
Fizz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
Fizz
31
32
Fizz
34
Buzz
Fizz
37
38
Fizz
Buzz
41
Fizz
43
44
Fizz
46
47
Fizz
49
Buzz

おやおやおやおやぁ〜!?FizzBuzzがありませんよぉ〜、石ちゃぁ〜ん。

・先に大きい方の条件を書く

さっきのコードだと、先に15の倍数が3で割れるんでFizz側の条件を取ってしまいます。なんで、先に大きい方の条件を書きます。

for hatena in range(1, 51):
    
    if hatena % 15 == 0:
        print("FizzBuzz")
    elif hatena % 3 == 0:
        print("Fizz")
    elif hatena % 5 == 0:
        print("Buzz")
    else:
        print(hatena)

んで、実行するぉ。

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

はい、出た〜。ということで完成です。