Created
January 21, 2019 07:39
-
-
Save alanzchen/f622ad18d631209620212efa708896e0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import random\n", | |
"import pandas" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 30, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"trials = []\n", | |
"for i in range(1000000):\n", | |
" _ = sorted([random.randint(1,100) for j in range(9)])\n", | |
" trial = []\n", | |
" for j in range(8):\n", | |
" trial.append(_[j+1] - _[j])\n", | |
" trial.append(_[0])\n", | |
" trial.append(100-_[8])\n", | |
" assert(sum(trial) == 100)\n", | |
" trials += trial" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 31, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([[<matplotlib.axes._subplots.AxesSubplot object at 0x117794da0>]],\n", | |
" dtype=object)" | |
] | |
}, | |
"execution_count": 31, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x1176160f0>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"%matplotlib inline\n", | |
"\n", | |
"pandas.DataFrame(trials).hist(bins=100)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 34, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"0.4073731" | |
] | |
}, | |
"execution_count": 34, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"sum(i >= 10 for i in trials)/10000000" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python (3.6, System)", | |
"language": "python", | |
"name": "py36" | |
}, | |
"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.6.4" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment