見出し画像

だれでもポケカプログラミング その5 ネオラントVスタートになっちゃう確率💦

https://note.com/pokecakinshicho/n/nf9a248d06d9c

↑前回の記事

今回はネオラントVスタートになってしまう確率です。ネオラントVスタート萎えますよね。かがリザスタートも、私の場合はテツノイサハスタートも同様です。

#シャッフルに必要なもの
import random

試行回数 = 100000
マリガン回数カウント = 0
ネオラントVスタートカウント = 0

for i in range(試行回数):

  デッキ = ['たねポケ', 'たねポケ', 'たねポケ', 'たねポケ', 'たねポケ', 'たねポケ', 'たねポケ', 'たねポケ', 'たねポケ', 'たねポケ',
          'ネオラントV', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他',
          'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他',
          'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他',
          'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他',
          'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他', 'その他']
  手札 = []

  サイド = []

  #デッキをシャッフル
  random.shuffle(デッキ)

  #手札を7枚引く
  for i in range(7):
    手札.append(デッキ.pop())

  #たねポケもネオラントVも1枚もない場合マリガンカウント
  if 'たねポケ' not in 手札 and 'ネオラントV' not in 手札:
    マリガン回数カウント += 1
  #たねポケが1枚もなく、ネオラントVだけある場合カウント
  elif 'たねポケ' not in 手札 and 'ネオラントV' in 手札:
    ネオラントVスタートカウント += 1

マリガンになる確率 = マリガン回数カウント / 試行回数
print("ネオラントVの数\t1 その他のたねポケの数\t10")
print("試行回数\t" + str(試行回数))
print("マリガン回数カウント\t" + str(マリガン回数カウント))
print("マリガンになる確率\t" + '{:.2%}'.format(マリガンになる確率))
print("ネオラントVスタートカウント\t" + str(ネオラントVスタートカウント))
print("ネオラントVスタートカウント確率(マリガンは除外)\t" + '{:.2%}'.format(ネオラントVスタートカウント / (試行回数 - マリガン回数カウント)))

早速作ってみました。

  #たねポケもネオラントVも1枚もない場合マリガンカウント
  if 'たねポケ' not in 手札 and 'ネオラントV' not in 手札:
    マリガン回数カウント += 1
  #たねポケが1枚もなく、ネオラントVだけある場合カウント
  elif 'たねポケ' not in 手札 and 'ネオラントV' in 手札:
    ネオラントVスタートカウント += 1

今回のポイントはこれですね。

ネオラントVの数 1 その他のたねポケの数 10
試行回数 100000
マリガン回数カウント 21899
マリガンになる確率 21.90%
ネオラントVスタートカウント 3590
ネオラントVスタートカウント確率(マリガンは除外) 4.60%

結果はこんな感じ。意外と多いっすな。たねポケの数を変更して色々試してみてください。
もうちょっと複雑なシミュレーションもしてみたいので(例えば2ターン目に悪リザが進化できる確率とか?)、ネタが欲しいです。ツイッターのDMでください。
それでは、また。

#プログラミング
#python
#ポケカ
#プログラミング初心者
#python初心者
#ポケカ考察
#GoogleColab
#GoogleColaboratory

次の記事


この記事が気に入ったらサポートをしてみませんか?