AllLotoクラス(ロトくじデータを取得するクラス)を作ったので、あとはデータ解析プログラムを作るだけです。
しかし、いきなりそんな難しいプログラムを書くと頭がおかしくなりそうなので、AllLotoクラスの使い方に慣れる意味で、抽選数字表示プログラムを書いてみます。
これは、抽選回を引数に指定すると抽選数字とボーナス数字を表示するという実に単純なプログラムです。
(実行例)
$ loto6 128 [6, 10, 18, 20, 29, 39] [21]
ミニロトならminilotoコマンド、ロト7ならloto7コマンドになります。
こちらがプログラムです。
(ファイル名) miniloto.py
import sys
from all_loto import AllLoto
def main():
all_loto = AllLoto()
if len(sys.argv) != 2:
print("""引数の数が違います。
miniloto 抽選回(1〜)
""")
sys.exit()
round = int(sys.argv[1])
if round <= 0 or round > len(all_loto.miniloto):
print("抽選回が最大値を超えています。")
print("抽選回≦{}".format(len(all_loto.miniloto)))
sys.exit()
data = all_loto.data(5, int(sys.argv[1]))
print(data.nums, data.bonus)
if __name__ == '__main__':
main()
(ファイル名) loto6.py
import sys
from all_loto import AllLoto
def main():
all_loto = AllLoto()
if len(sys.argv) != 2:
print("""引数の数が違います。
loto6 抽選回(1〜)
""")
sys.exit()
round = int(sys.argv[1])
if round <= 0 or round > len(all_loto.loto6):
print("抽選回が不正です。")
print("1≦抽選回≦{}".format(len(all_loto.loto6)))
sys.exit()
data = all_loto.data(6, int(sys.argv[1]))
print(data.nums, data.bonus)
if __name__ == '__main__':
main()
(ファイル名) loto7.py
import sys
from all_loto import AllLoto
def main():
all_loto = AllLoto()
if len(sys.argv) != 2:
print("""引数の数が違います。
loto7 抽選回(1〜)
""")
sys.exit()
round = int(sys.argv[1])
if round <= 0 or round > len(all_loto.loto7):
print("抽選回が最大値を超えています。")
print("抽選回≦{}".format(len(all_loto.loto7)))
sys.exit()
data = all_loto.data(7, int(sys.argv[1]))
print(data.nums, data.bonus)
if __name__ == '__main__':
main()
以上、これまで作ってきたスクリプトファイルを適切なディレクトリに配置すれば、プログラムを動かすことができます。
しかしながら、ブログの記事をいちいち調べてスクリプトファイル部分だけをコピー&ペーストするのは非常に面倒くさい(私なら怒って帰ります)。
そこで、ディレクトリ構造を.tar.gzファイルに固めたものを用意しましたので、これを解凍して御自分の開発環境にインストールして下さい。
lotonumber-0.0.3.dev0.tar.gz
あるいは、pipコマンドを以下のように入力して下さい。
$ pip install lotonumber
miniloto、loto6、loto7の各コマンドが入力できれば成功です。
※抽選数字データファイルを編集する場合は、Pythonをインストールした環境のsite-packages/lotonumber/dataディレクトリにある.csvファイルを修正して下さい。
virtualenvコマンドで独自環境を構築した時は、lib/python3.6/site-packages/lotonumber/dataにあります。