だれでもポケカプログラミング その1 マリガンの確率①
アルセウスVが2ターン目にスターバース打てる確率知りたいと思って簡単なスクリプト組んでみたら1時間程度で欲しいものが作れたので、自分が記憶喪失になった時用に書きます。
今回はマリガンになる確率を算出します。たぶん誰でも3分で作れる。
環境はgoogle colabを使ってます。準備時間30秒。下記参照。
https://www.google.com/search?q=google+colaboratory+%E5%88%9D%E5%BF%83%E8%80%85
マリガンになる確率、60枚のデッキから7枚引いてその中にたねポケモンが1匹もない確率ですね。たねポケモンを10枚入れてたとしたらたぶん一番簡単な計算式は1ドロー目の確率50/60、2ドロー目の確率49/59、3ドロー目の確率48/58…と7ドロー目までやって掛け算すればよいので(あってる?)、25.86%になるっぽい。
ではレッツプログラミング!
デッキ = ['たねポケ', 'たねポケ', 'たねポケ', 'たねポケ', 'たねポケ', 'たねポケ', 'たねポケ', 'たねポケ', 'たねポケ', 'たねポケ',
'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他',
'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他',
'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他',
'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他',
'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他']
デッキに10枚のたねポケと50枚のその他のカードを入れます。詳しくは下記だ!
https://www.google.com/search?q=python%E9%85%8D%E5%88%97
手札 = []
空っぽの手札を用意します。
random.shuffle(デッキ)
デッキをシャッフルします。これはこういうものと思ってくれ。詳しくは下記だ!
https://www.google.com/search?q=python+random+%E3%82%B7%E3%83%A3%E3%83%83%E3%83%95%E3%83%AB
for i in range(7):
手札.append(デッキ.pop())
7回ドローします。デッキから1枚取ってきて、手札に加える。これを7回繰り返す。1行目のforループが繰り返しの意味ね。
https://www.google.com/search?q=python+for
https://www.google.com/search?q=python+%E9%85%8D%E5%88%97+pop+append
ここまでの5行を実行するとこんな感じになります。
#シャッフルに必要なもの
import random
デッキ = ['たねポケ', 'たねポケ', 'たねポケ', 'たねポケ', 'たねポケ', 'たねポケ', 'たねポケ', 'たねポケ', 'たねポケ', 'たねポケ',
'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他',
'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他',
'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他',
'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他',
'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他']
手札 = []
#デッキをシャッフル
random.shuffle(デッキ)
#手札を7枚引く
for i in range(7):
手札.append(デッキ.pop())
#実行結果を表示
print('実行結果:')
print(手札)
たねポケが2枚引けました!最後の二行のprintっていうのは画面に表示するコマンドね。
次の記事に続きます。
コメント機能がないので何かあればXのDMへどうぞ。
次の記事
この記事が気に入ったらサポートをしてみませんか?