0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PythonでFizzBuzz

Posted at

#はじめに
みなさん FizzBuzz ってご存知ですか?恥ずかしながら主は先日まで FizzBuzz という言葉すら知りませんでしたよ、ええ。

ということで、復習がてら FizzBuzzについてまとめたいと思います。

#FizzBuzz とは
 元々は英語圏の言葉遊びで、複数のプレイヤーで以下の条件に従って 1 から順番に数字を発言するというゲームのようです。

  • 3 で割り切れる数の場合は "Fizz" と発言
  • 5 で割り切れる数の場合は "Buzz" と発言
  • 3,5の両方で割り切れる場合は "FizzBuzz" と発言
  • 上記のいずれにも該当しない場合は数字をそのまま発言


A「1」
B「2」
C「Fizz」
A「4」
B「Buzz」
...
A「13」
B「14」
C「FizzBuzz」

ま、こんな感じですね。
#実装
さて、それではルールに従って特に何も考えず単純に実装してみましょう。

fizzbuzz.py
for num in range(1,101):
    if num % 15 == 0:
        print("FizzBuzz")
    elif num % 3 == 0:
        print("Fizz")
    elif num % 5 == 0:
        print("Buzz")
    else:
        print(num)
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz

はい、できました。非常に単純です。

#出力を変える
割る数や出力する文字を変えることができたら便利ですね。

fizzbuzz.py
div1, div2 = 4, 6
word1, word2 = "Nogi", "Zaka"
for num in range(1,101):
    if num % div1 == 0:
        if num % div2 == 0:
            print(word1+word2)
        else:
            print(word1)
    elif num % div2 == 0:
        print(word2)
    else:
        print(num)

最近 class についても学んだので class を使って実践

python
class FizzBuzz:
    def __init__(self, div, string):
        self.div = div
        self.string = string

    def check(self,num):
        if num % self.div == 0:
            return self.string
        else:
            return ""

def main():
    fizz = FizzBuzz(4, "Nogi")
    buzz = FizzBuzz(6, "Zaka")
    for num in range(1, 101):
        result = fizz.check(num) + buzz.check(num)
        if result == "":
            print(num)
        else:
            print(result)
if __name__ == "__main__":
    main()
1
2
3
Nogi
5
Zaka
7
Nogi
9
10
11
NogiZaka
13
14
15
Nogi
17
Zaka
19
Nogi
21
22
23
NogiZaka

できました!乃木坂万歳!

0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?