ロト6を買い続けて最高5等しか当たったことがありません。いつも自分で数字を選んで購入をしていますが、毎回数字を選ぶのは少し面倒くさいので、今回はpythonでランダムに数字を選んでそれをそのまま購入するコードを作りました。
目次
1. どう買うのか?
買い方について、単純にランダムで購入するだけであればそんなに考えることもなくランダム関数を利用して1~43の中から「6つ」の数字を出力すればよいことになります。
流石にそれでは芸がないので、今回は以下の内容としてコードを作成します。
・ROTO6解析サイトの各数字出現回数をそのまま重みとして設定する
なので、以下サイトを参考に重み付けをしてからランダムで1-43の数値を出現させる方法とします。
https://takarakuji.rakuten.co.jp/data/loto/loto6/most_numbers/
2. 実際のコード
では早速コードを作成します。環境はpython3.8となります。
import random as rd
roto = list(range(1,44))
o = [9,2,4,10,5,12,7,9,10,8,10,5,8,5,6,8,7,9,5,4,7,7,5,12,6,3,8,9,7,4,5,12,2,7,7,1,10,11,3,8,7,9,7]
atari = rd.choices(roto, k = 6, weights = o)
atari
・最初にrandomライブラリをインポート
・「roto」変数に1-43までの数値を代入
・「o」に1-43までの重み付けを実行
・重み付けを考慮した1-43の数値をランダムで選択
・6桁の数値を表示
重み付けのところの設定が面倒くさいですが、心折れずにがんばりましょう。
ちなみにこのコードで6つの数字は出力されますが、重複した数値が出現することがあります。そんな時にはもう一度実行しましょう。
3. まとめ
さて、いかがだったでしょうか。今回は単純に重みを付けて出力させるだけのプログラムとしましたがこれの発展形として、ランダムで出力される数値を繰り返して(例えば1000回とか)その上位6つ分を購入するといった使いかたもできそうです。
それはまた今度の機会に綴ろうと思います。
最後まで読んでいただき、ありがとうございました。