Skip to content

Instantly share code, notes, and snippets.

@hoto17296
Created June 9, 2020 14:59
Show Gist options
  • Save hoto17296/e67f5a39837890ce38b54664c4550d83 to your computer and use it in GitHub Desktop.
Save hoto17296/e67f5a39837890ce38b54664c4550d83 to your computer and use it in GitHub Desktop.
クロバットVの封入枚数の確率分布 https://blog.hotolab.net/entry/crobat
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from math import factorial\n",
"import matplotlib\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"matplotlib.rcParams['figure.figsize'] = (12, 6)\n",
"matplotlib.rcParams['font.size'] = 14"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 864x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"box = 6 # 開けた Box 数\n",
"N = 5 # 1Box あたりのポケモンVの枚数\n",
"p = 1 / 8 # ポケモンVが1枚出たときにそれがクロバットVである確率\n",
"\n",
"# nCr を計算する関数\n",
"C = lambda n, r: factorial(n) // (factorial(n - r) * factorial(r))\n",
"\n",
"# 確率分布を計算する\n",
"X = [p ** i * (1 - p) ** (N * box - i) * C(N * box, i) for i in range(N * box + 1)]\n",
"\n",
"# 確率分布をプロットする\n",
"plt.bar([str(i) for i in range(N * box + 1)], X)\n",
"plt.title(f'{box}Box 開けてクロバットVが出る枚数の確率分布')\n",
"plt.xlabel('クロバットVが出る枚数')\n",
"plt.ylabel('確率')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.07803057467157908"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X[1]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment