今日学んだこと

読書感想文とか、勉強した内容とか

プログラムを書けるようになるとどんなことができるか python編

WebアプリケーションのプログラムをJavaで書いてたんですが、ちょっと疲れてきたのでこんなエントリー

世の中便利になったもので、いろいろなプログラムの学習記事が溢れてます。

が、学び始めはどうしてもしょうがないんですが

  • 足し算のしかたを学びましょう
  • ループしてみましょう
  • 分岐してみましょう
  • とかとか・・・

というのが続いて「僕はプログラムの文法を学びたいんじゃなくて、凄いことができる魔法のツールの使い方を学びたいんだけど・・・」と気が滅入ってと思います(数学みたいで楽しい!と思えたあなたは、正解というかプログラムを楽しむ素質があるのでそのまま楽しみましょう!)。

コンソール画面に表示するプログラムでどんなことができる?

プログラムを学び始めて最初は、いわゆるコンソール画面(windowsならDOSプロンプト、Macならターミナル)に何かを表示するプログラムを書いていることでしょう。

実用的というか、使えるプログラムかと言われると・・・・きっとちょっと微妙ですね

で、ここで僕が先ほど息抜きに描いた「コンソールに表示するプログラム」を見てみましょう。

import numpy.random as rd

# http://trendy.nikkeibp.co.jp/article/pickup/20140904/1059848/?SS=expand-life&FD=993747041
# から抜粋した2014年度のブラジャーカップ分布
oppai_ratio = {
    "A": 0.056,
    "B": 0.208,
    "C": 0.265,
    "D": 0.242,
    "E": 0.160,
    "F": 0.056,
    "Over H": 0.013
}

def oppai():
    return list(oppai_ratio.keys())[rd.choice(len(oppai_ratio), p=list(oppai_ratio.values()))]

print(oppai())

何かと言いますと、ブラジャーのカップサイズの分布にしたがって、カップサイズを返してくれるプログラムです!

試しに実行してみましょう

f:id:nakazye:20160309001739p:plain

Dカップと返って来ました!街で女性と出会ったとしたらDカップだったみたいなものですね。

ここで、

print(oppai())

for x in range(15):
    print(oppai())

とでもしてみましょう(15回表示を繰り返した)。

すると結果は・・・・

f:id:nakazye:20160309002303p:plain

15人の女性と出会ったとすると、AカップとEカップはチラチラとお目にかかれる感じですね。FやOver Hは出てきません。希少価値といえば小さいイメージでしたが、やはり大きい方が稀少だったんや・・・

何が言いたいかというと

割とコンソールで表示するプログラムでも、楽しめるもの、実用的なものというのは作ろうと思えば作れちゃいます。

先ほどのを応用すれば、簡単にソシャゲのガチャシミュレーターを作れちゃいますよね。

ちなみに僕が始めて作った実用的なプログラムは、パスワード解析ツールでした。a-zを繰り返して桁数増やしていきパスワード解除を試行といった感じで(念のためですが、ネット上の何かに対してはやめましょうね。不正アクセスなんとか法で最悪捕まります)

ということで、勉強しながらでも、「今の知識でどんなものが作れるかなー」と妄想しながら勉強をしていってもらえればと思いますし、良いのが思いついたら実際に作ってみてもらいたいなーと思う次第であります