表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
14/19

定番はいかがでしょう? fizzbuzzになります。

 さあ、プログラミングの始まりだー!


 今回のテーマはド定番のfizzbuzzです。


 何やら入社試験に使ったとか風の噂に聞いたこともあるので運がよければ使えるかも!?


 ではまずfizzbuzzとは何か?


 数を数えるゲームで1,2,fizz,4,buzzというように数を数えながら3で割りきれる数の時は「fizz」5で割り切れるときは「buzz」と言い、両方で割り切れるときは「fizzbuzz」と言うゲームです。


 これをプログラムにやらせようって訳です。


 大丈夫です、基礎的なことしかやりません。


 今回もわずか9行で組めてしまうのでまとめて載せますが、まずは一行ずつ紹介しましょう。


for i in range(1,100):


 今回は1から100まで数えることにしましょう。

 察しのいい方は予想できそうですがrange(x,y)の中のxが始点でyが終点です、1を3にすればfizzから始まりますし100を1000にすれば1000まで数え上げます。


 range(x,y)はxからyまでを1刻みで返す関数です(微妙に違うそうですが簡単のために)ここではiに1から100まで入れながら以降のインデントがforより浅くなるまでループします。


 と、書きましたがここくらいしか躓くところがないんですよね、後は前回のifを入れ子(括弧の中に括弧を入れること、Pythonの場合はインデントされた行でさらに深いインデントを入れること)さえできれば完成します。


 とはいえそれではあまりにもあんまりなのでちょっと新要素を入れます。


 forの後の行でインデントが一つ深くなります。

 そうそうPythonではインデントはスペース4つがいいそうです、作者が本で書いてました。まあ今回はIDEのPyCharmが自動で入れてくれるんですけどね。


 if (i % 5) == 0 and (i % 3) == 0:

 ifについては前回解説しましたね、分からないのは%とandと==でしょうか。


 まずは%は左を右で割ったあまりを表します、ここで変数に代入してもいいのですがその場限りなので代入はせず条件判断に直接使ってます。


 で、==についてですが、これは左と右が等しい場合真を返します、真(True)は要するに条件が成り立つと言うことで成り立てば次の行が実行されます。


 そしてandはこれも察しのいい方は分かるでしょうが、andでつながれた条件がどちらも真であればという意味です。


 つまりここではiが5でも3でも割り切れることを表します。


 いやそこはi % 15ならand要らなくない? 実際その通りなのですが、24で割り切れ1223でも割り切れるとき……暗算できますか?


 andでつなげば3と5を書き換えるだけなので楽ですね。なのでここではこのやり方にします。


 あとはelifで5で割り切れるときと3で割り切れるときを付け足すだけです。前回のifまんまなので全文載せます。

for i in range(1,100):

if (i % 5) == 0 and (i % 3) == 0:

print("fizzbuzz")

elif(i % 5) == 0:

print("buzz")

elif(i % 3) == 0:

print("fizz")

else:

print(i)


 特に難しいところはもう無いでしょう。あえて言うなら最後のprint(i)はrange()が生成した数をそのまま出力しています。


 C系をやった方ならこんな雑でいいの!? と驚くかもしれませんがこれはPythonです、慣れてください。


 最後のelse:については未解説でしたね。上記の全条件に当てはまらないときにしたのブロックが実行されます。


 クラスは? クロージャは? ラムダ式は? という不満が聞こえてきそうですが、そういうのは必要になってから覚えればいいんです、大抵の言語の基礎はループと条件分岐につきます。


 さすがに実行結果を貼ると100行になるのでやってみたい方はPyCharmで実行してみてください。


 ここまでで基礎はできるようになりました。

 プログラミングも意外と簡単でしょう?

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ