Pythonを使って、競馬をランダムに予想するプログラムを作ってみます。
予想すると言っても、数字をランダムに返すだけのプログラムですので、宝くじ感覚です。
競馬の賭け方は複数あり、1着を当てる単勝や、上位2着を当てる馬連、上位3着を当てる3連複などたくさんの賭け方があります。
今回のプログラムでは、上位3着をランダムに予想するプログラムを書いてみます。
Pythonで競馬の上位3着を予想する
プログラムは次の通りです。
import random tousuu = input('馬の頭数を入力してください') tousuu = int(tousuu) + 1 print(random.sample(range(1,tousuu), k=3))
プログラムの解説です。
- randomをインポートしています。
- input関数により、ターミナル(Macの場合)で、レースの頭数を入力するようにしています。
これは、競馬はレースによって、出走馬数が異なるためです。 - 16頭が出走するレースの場合は、16と半角で入力します。
ちなみにこのプログラムでは、2以下の数字を入力するとエラーとなります。 - random.sampleは、重複しない結果を返します。
- プログラムを実行する時は、ターミナルで python プログラム名.pyと入力してEnterします。
プログラム名は任意の名前で良いです。
試しに実行した結果は次のようになりました。
馬の頭数を入力してください16 [9, 15, 2]
16頭を指定して、[9, 15, 2]というランダムな3つの数字が返りました。
Win5をランダムに予想するプログラム
競馬にはwin5といって、5つのレースの1着全部を当てると、配当が出る賭け方があります。
win5用のランダム予想プログラムを作成しました。
プログラムは次の通りです。
import random list=[] for i in range(5): tousuu = input(str(i+1) + 'レーズ目の馬の頭数を入力してください') tousuu = int(tousuu) + 1 kekka = random.sample(range(1,tousuu), k=1) list.append(kekka) print(list)
プログラムの解説です。
- 空のリストを作成しました。
- 5レース分、出走数を聞いてきますので、5回入力する必要があります。
- for文を使ってリストにランダム結果を順に格納しています。
試しに実行させたところ、次のような [[11], [1], [12], [17], [7]] という結果が返りました。
1レーズ目の馬の頭数を入力してください13 2レーズ目の馬の頭数を入力してください12 3レーズ目の馬の頭数を入力してください16 4レーズ目の馬の頭数を入力してください18 5レーズ目の馬の頭数を入力してください16 [[11], [1], [12], [17], [7]]
まとめ
Pythonで、競馬の馬をランダムに選択するプログラムを書きました。
ランダムですので、人気馬順などのデータを全く考慮しておりません。
ご了承ください。
最後までお読みいただきありがとうございました。