kakashi-blog・カカシブログ・

Python備忘録を書きドローンやバイクなど好きな事で生きて行こうとしているブログ

PC python プログラミング

PythonでFizzBuzz問題を書く

投稿日:

 

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

 

 

-PC, python, プログラミング
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Pythonプログラミング備忘録 ―エクセル操作編

pytohnプログラミング学習で勉強したことをまとめました 備忘録といった感じで、初心者向けに書いてあります   退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミ …

Amazonのウェブスクレイピングが出来ない

  pythonでプログラミングを勉強(というより趣味で遊んでいる)しています。     BeautifulSoupを使用して、ウェブスクレイピングがある程度出来るようになってきた。そこでAmazon …

Python備忘録 selenium ブラウザスクロール編

ウェブブラウザをpythonで操作をしてみたい seleniumというライブラリでブラウザを操縦できる   退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング …

Python備忘録 Tkinter編② テキスト入力とボタン

前回はラベルの挿入まで行いました 今回はテキスト入力とボタンについて記述します       1、ベースのウィンドウを作る    win=tk.Tk() win.title(‘text input &a …

pythonで画像処理 Pillow(PIL)

画像処理なんて大げさですが、Pillow(PIL)を使用して少し画像の操作をやりました   ライブラリのインポート~ from PIL import Image im=Image.open(‘C:\\ …