Skip to content

Instantly share code, notes, and snippets.

@alanzchen
Created January 21, 2019 07:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alanzchen/f622ad18d631209620212efa708896e0 to your computer and use it in GitHub Desktop.
Save alanzchen/f622ad18d631209620212efa708896e0 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"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": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEKCAYAAAAB0GKPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAErFJREFUeJzt3X2MXFd5x/GvO7GztqnzRlFLEwLG5IlTu7xYOEkpai0VEKQk4sVG5J+4RLwI/iDgiBKcQItkaBWoIZVQVFpCgASlaUgIRU3aSiYQiLDkyGGh+MGJQkKoaEikOBh7s/bE/ePObMbr3btn32ZmZ78fyfLMPffeOftodn577j33zpJjx44hSdJUfqfXHZAkLQwGhiSpiIEhSSpiYEiSihgYkqQiBoYkqchJve6AtJhExEnAZ4FLqX7/vgpcmZmjPe2YVMDAkLrrU8AbgYuBZcCNwChwZS87JZVY4oV7UndExBDwBPDOzPxWa9mbga8Dv5eZh3vZP2kqnsOQuucVwErgux3L7mkte0VPeiRNg4Ehdc8fAr/NzAPtBZn5NHAIOLNnvZIKGRhS96wAnplg+TPAyV3uizRtBobUPYeZOBhOphplSH3NwJC65zFgZUT8bntBRKyiGnn8sme9kgoZGFL3PAD8Fnhtx7I/ay17oCc9kqbBabVSF0XETuAS4DJgCfAV4JbM/Ouedkwq4IV7Und9FFgOfAs4CtwEbO9pj6RCjjAkSUU8hyFJKmJgSJKKGBiSpCIGhiSpyMDOktqzZ88SqvvzPN3rvkjSArMKeGzDhg3HzYoa2MCgCotHe90JSVqgXgT8onPBIAfG0wDr16+n0WhMa8Nms8nw8PCMtl0MrM/krE0961OvH+rT7gMTHJ0Z5MAAoNFozLjws9l2MbA+k7M29axPvX6tjye9JUlFDAxJUhEDQ5JUxMCQJBUxMCRJRQwMSVIRA0OSVGTgr8OYCxu33Tf2ePdnL+xhTySpdxxhSJKKGBiSpCJFh6Qi4rXAdcBLgZ8DH8nMuyLifOB64BzgAeCyzNzf2qarbZKk+TXlCCMiTgLuALZn5irgGuAbEbEcuB24FjgNuAv4cmuboW62SZLmX8khqecDpwONiFjSWjYC/DlwIDNvzsxRYAewLiLWApu63CZJmmdTHpLKzF9FxJeAO4Em8CzwNuBcYF/Hes2IeBhYC5zd5bafTtb/ZrM51Y846Tbt/4eWzm5/g2Z8ffQca1PP+tTrh/rUvfaUgRERDeAAcDFwN7AZuBH4PHB43OqHgBXAyi63Tap1X/cZaW+7c/OysWV79+6d8f4GzWxqO+isTT3rU69f61Ny0vttwLrM/HDr+U0RcTlwDFg+bt0VwEGqD/Jutk1qLr5AadP23WNtu3ZsnNa+BlE/fMlLv7I29axPvX6oT8cXKJ2gJDDOBJaOW3YEeIJqthIwNhJZTXXYaBS4vIttk5qLL1AaOXL8MlX69Ute+oG1qWd96vVrfUpOev83cEFEvCMilkTExcAFwLeBMyJia0QsA7YD+zNzH7Cry22SpHk2ZWBk5o+AdwJXA08BnwAuycxHgIuADwBPAq8DtrS2OdzNNknS/Cu6cC8z76C6FmP88j3AqyfZpqttkqT55a1BJElFDAxJUhEDQ5JUxO/DmCa/G0PSYuUIQ5JUxMCQJBUxMCRJRQwMSVIRA0OSVMTAkCQVMTAkSUUMDElSEQNDklTEwJAkFTEwJElFDAxJUhEDQ5JUxMCQJBXx9uaz4K3OJS0mjjAkSUUMDElSEQNDklTEwJAkFTEwJElFDAxJUhEDQ5JUxMCQJBUxMCRJRQwMSVIRA0OSVMTAkCQVMTAkSUW8W+0c8c61kgadIwxJUhEDQ5JUxMCQJBUxMCRJRQwMSVIRA0OSVMTAkCQVKboOIyJeDFwPvAZ4Erg6M78WES8DvgS8CngIeHdm/rC1TVfbJEnza8oRRkQsAb4J7AFOA7YA10fES4BbgG8DpwI7gVsjotHatNttkqR5VHJI6kLgFOCazDyambuB84HnAWuAz2Tmkcy8AfgN8PqIWNvNtjmrhiRpUiWHpF4J/AT4fERsAX4NXNXa9qHMPNqx7n5gLTDU5bb/mKzzzWaz4EeceJv2/0NLZ7b9oBpfHz3H2tSzPvX6oT51r10SGKcBbwA+DJwFbAJuA/4eODxu3UPACmBll9smNTw8XNdcq73tzs3LprXd3r17Z/yaC8lsajvorE0961OvX+tTEhjPAI9m5nWt53dHxPeAJcDyceuuAA5SfZB3s21S69evp9GY3mmOZrPJ8PDw2Labtu+e1vaddu3YOONt+9X4+ug51qae9anXD/Vp92EiJYHxM+CUiFiSmcdayxrAAWB1RDQysz2GOYdqNtWjXW6bVKPRmHHh29uOHJnR5mP7GFSzqe2gszb1rE+9fq1PyUnv/6IaZXwyIhoR8UbgT4A7gJ8D2yNiWURspZq99J3M/J9uts2uBJKkElMGRmYeojpvcSHVNRifAy7NzEeAt7bangA+CFySmSOtTbvdJkmaR0UX7mVmAn8xwfKHqD7AJ9qmq22SpPnlrUEkSUUMDElSEQNDklTEwJAkFTEwJElFDAxJUhEDQ5JUpOg6DM2NjdvuG3u8+7MX9rAnkjR9jjAkSUUMDElSEQNDklTEwJAkFTEwJElFDAxJUhEDQ5JUxMCQJBUxMCRJRQwMSVIRbw3SI523CQFvFSKp/znCkCQVMTAkSUUMDElSEQNDklTEwJAkFTEwJElFDAxJUhEDQ5JUxMCQJBUxMCRJRbw1SJ/ovFWItwmR1I8cYUiSihgYkqQiBoYkqYiBIUkqYmBIkoo4S6rGpu27GTnS615IUn9whCFJKmJgSJKKeEiqD3kRn6R+5AhDklSkeIQREecB9wPrMvPBiDgfuB44B3gAuCwz97fW7WqbJGn+FY0wIuIk4Abg5NbzIeB24FrgNOAu4Mu9aJMkdUfpIamrgHs7nm8CDmTmzZk5CuwA1kXE2h60SZK6YMpDUhHxcuAdwKuBD7cWnwvsa6+Tmc2IeBhYC5zd5baf1vW/2WxO9SNOus3QHEwJ6Hz9oaWz275ftPvUj33rNWtTz/rU64f61L127UdiRCyjOhT13sw8HBHtppXA4XGrHwJW9KCt1vDw8FSrTOrTb1k2423b9u7dO/Z45+bp769z+34zm9oOOmtTz/rU69f6TPU39MeB72Tm98ctPwQsH7dsBXCwB2211q9fT6PRmGq14zSbTYaHh7nq9lFGjk5r0xPs2rFx7PGm7btntX2/aNdnJrUddNamnvWp1w/1afdhIlMFxtuBP4iId3Usux94H9VsJQAiogGspjpsNApc3sW2Wo1GY8aFHznKrG8N0vnaM9lXP/9Szaa2g87a1LM+9fq1PrWBkZnndj6PiGPAq4BfAv8QEVuBm4GPAvszc19EPAKc0a22OaiBJKnAjC7cy8zDwEXAB4AngdcBW3rRNug2brtv7J8k9dK05gFl5pKOx3uoZk5NtF5X2yRJ889bg0iSihgYkqQiBoYkqYiBIUkqYmBIkooYGJKkIn7j3gLiN/FJ6iVHGJKkIgaGJKmIgSFJKmJgSJKKGBiSpCIGhiSpiNNqB4DTbSV1gyMMSVIRA0OSVMTAkCQVMTAkSUUMDElSEQNDklTEwJAkFfE6jAHjNRmS5osjDElSEQNDklTEwJAkFTEwJElFDAxJUhFnSQ0wZ0xJmkuOMCRJRQwMSVIRA0OSVMTAkCQVMTAkSUWcJbVIOGNK0mw5wpAkFTEwJElFDAxJUhEDQ5JUxJPei5AnwCXNhCMMSVKRohFGRFwCfAo4C/gZcEVm3hsRbwJ2AmcC3wUuy8zHW9t0tU2SNL+mHGFExGrgK8D7gVOpPrDvjIizga8D7wPOAB5rtRERv9/NNknS/Cs5JHU28MXMvCczn83Mm4Bnga3ADzJzV2aOAB8DNkfEKuAtXW6TJM2zKQ9JZeYuYFf7eURcADwPOB3Y17HeryPiELAGOLfLbfdP1v9msznVjzjpNkNzMCWg8/WHls5+f3O939nUZybbDjprU8/61OuH+tS99rQ+EiNiDXAbcA0QwPjzB4eAFcDKLrdNanh4uK651qffsmzG27bt3bt37PHOzbPf31zvt3M/0zWb2g46a1PP+tTr1/oUB0ZEnA/cCXwhM6+NiOuA5eNWWwEcpPog72bbpNavX0+j0ahb5QTNZpPh4WGuun2UkaPT2vQEu3ZsHHu8afvu2e1sHvY72X46l4/Xrs9MajvorE0961OvH+rT7sNESmdJvYnqhPO2zPzn1uJ9wEUd67yA6lDVgz1om1Sj0Zhx4UeOwsiRGW163OuP7W+W+5qP/U62n5Kazaa2g87a1LM+9fq1PiWzpM4GbgHe1REWAHcAfxoRb4iIIWAHcGdmHuxBmyRpnpXMkvoQ1fmDGyPiYPsfcA6whWpq6+PAC4H3AGTm/3azTXNv47b7xv5JEpTNkroCuKJmlfMm2e7ubrZJkuaXtwaRJBUxMCRJRbxbrabk3W0lgSMMSVIhA0OSVMTAkCQVMTAkSUU86a1p2bjtPoaWzu2NFCUtDI4wJElFDAxJUhEPSWnGNm3fPXaHW6/PkAafIwxJUhEDQ5JUxENSmhPePkQafI4wJElFDAxJUhEPSWleeahKGhyOMCRJRQwMSVIRD0mpazw8JS1sjjAkSUUMDElSEQ9JqSc8PCUtPI4wJElFHGGo5xxtSAuDIwxJUhFHGOornaMNcMQh9RNHGJKkIo4w1Nc8vyH1D0cYkqQijjC0IDnykLrPwNCCZ3hI3eEhKUlSEUcYGiiONqT5Y2BoYBke0twyMLQoGB7S7BkYWtQMEqmcgSG1GB5SPQNDmoDhIZ3IwJCmMP6GiG0GiRabBRcYEXE+cD1wDvAAcFlm7u9tr7QY1Y1CNm3fzcgRQ0WDZUEFRkQMAbcDVwL/BnwU+DLwmh52S5qUoxMNkgUVGMAm4EBm3gwQETuAbRGxNjN/2tuuSeUmC5JOhor6zUILjHOBfe0nmdmMiIeBtcCEgTE6Okqj0ZjWizSbTQBOGYKhWVZodHR07PGpy2e3r/nY70z2c3KrJpPVZxB/5tJ9ztd75y8/uWdW+/r3j2+YcF+dy7uhXZ+Z/F4uBv1Qn3YfJrLk2LFjXezK7ETE1cB5mXlpx7IfAF/IzK91rrtnz56zgEe73EVJGhQv2rBhwy86Fyy0EcYhYPzfhCuAgxOs+xjwIuDp+e6UJA2YVVSfocdZaIGxD7i8/SQiGsBqOg5TtW3YsOEY8IvxyyVJUzow0cKFFhi7gDMiYitwM9Usqf2ZeUJgSJLm1oL6PozMPAxcBHwAeBJ4HbClp52SpEViQZ30liT1zkI7JDXvvJL8eBFxCfAp4CzgZ8AVmXlvRLwJ2AmcCXyXqk6P966nvRMR5wH3A+sy80HfQ5WIeDFVHV5DdUTg6sz8WkS8DPgS8CrgIeDdmfnDnnW0RyLitcB1wEuBnwMfycy7+vn9s6AOSc23jivJrwVOA+6iupJ8UYqI1cBXgPcDp1IFxJ0RcTbwdeB9wBlUsyl29qqfvRQRJwE3ACe3nvseAiJiCfBNYA9VHbYA10fES4BbgG/z3Hvq1tYElkWj9b65A9iemauAa4BvRMRy+vj9Y2Acb+xK8swcBXYA6yJibY/71StnA1/MzHsy89nMvAl4FtgK/CAzd2XmCPAxYHNErOphX3vlKuDejue+hyoXAqcA12Tm0czcDZwPPA9YA3wmM49k5g3Ab4DX966rPfF84HSg0QpXgBHgz+nj94+BcbwTriQH2leSLzqtQLiy/TwiLqD6hT+d4+v0a6prZNZ0vZM9FBEvB94BXN2x2PdQ5ZXAT4DPR8T/RcSPqabArwEeysyjHevuZ5HVJzN/RXVY7k7gCHArcBl9/v4xMI63Ejg8btkhqosDF7WIWAPcRjV0XvR1iohlVIei3tuavde26GvTchrwBqowOAvYRnUYcx3Wp30N2QHgYqqf/a+AG6kumOvb+hgYx5vOleSLRusk3PeBf8rMa7FOAB8HvpOZ3x+33NpUngEezczrMnM0M+8GvgcswfoAvI1qksS3WvW5CdgLHKOP62NgHG8f1cwEoP5K8sWiNRvqP6lOzv1ta/H4Or2A6lDVg93vYc+8Hbg8Ip6KiKday+4HfoXvIahm1J3ScXweoP1X9epxJ7nPYfHV50xg6bhlR4An6OP3j9dhdGjNUHiY6gry9pXkl2Rmd2/p2Sdas6F+DGzNzNs6lr+Q6u7AW4B7gH8EzsjMt/ako30gIo4BLwN+ie8hImIF1R8Q/wL8DdVJ7VuBP6I6bn8b8HfApVTTtle3JlAsChHxx8APqSaQ/CvwZuCrQHt5X75/HGF08EryE3yI6pj8jRFxsP2P6i+gLVRTIh8HXgi8p3fd7B++hyqZeYhqxtiFVHX4HHBpZj4CvLXV9gTwQaoPxEUTFgCZ+SPgnVQTJp4CPkFVh0fo4/ePIwxJUhFHGJKkIgaGJKmIgSFJKmJgSJKKGBiSpCIGhiSpiIEhSSpiYEiSihgYkqQi/w+/fPrkXdlTfgAAAABJRU5ErkJggg==\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