Skip to content

Instantly share code, notes, and snippets.

@trent2
Last active March 1, 2020 17:15
Show Gist options
  • Save trent2/e0d6d17cfba4dde8b9f1dea706cd21e6 to your computer and use it in GitHub Desktop.
Save trent2/e0d6d17cfba4dde8b9f1dea706cd21e6 to your computer and use it in GitHub Desktop.
"The Riddler" #haircuts
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import random\n",
"\n",
"def simulate(runs):\n",
" total_waiting_time = 0\n",
" running_avg = []\n",
" for s in range(runs):\n",
" b_wait = [random.random()*15 for _ in range(4)] ## last one is Tiffany\n",
" c_choice = random.randint(0,3)\n",
" if(c_choice==3 or min(b_wait)==b_wait[3]): ## c wants or gets Tiffany\n",
" total_waiting_time += b_wait[3] + 15\n",
" else:\n",
" total_waiting_time += b_wait[3]\n",
" running_avg.append(total_waiting_time/(s+1))\n",
" return running_avg"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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F6pUqeK1eBYtWkT9+vVZv349HTp0KFDykJaWluXzqFGj2LRpExs2bKBXr16MGzcOgG3btjFz5ky2bt3KggULGD58eEbZYcOGMXXqVHbv3s3u3btZsGABAB9++CFly5Zlz549PPTQQzz++OMAnDhxgueee46VK1eyatUqnnvuOU6ePOlWvH369GH06NH5/p7uCgwMZPz48UycONHl+m+//ZZSpUrlWD6385RT+YiICKZPn87tt99+wf7uvPNORo0axfbt21m1ahUVKlQo4DdTSmny4EE2bbeklFIu9ejRg3nz5gHw5Zdfctttt2WsO3v2LHfffTetWrWiWbNmzJkzB4C4uDg6dOhA8+bNad68OcuXLwdgyZIlREdHc9NNN1G/fn369evnss/ZtGnTaNWqFZdffjk33ngj586dY8OGDTz22GPMnz+fqKgoHn/8cZKSkoiKiqJfv34AfP7557Ru3ZqoqCjuvffejJvYUqVKMXbsWNq0acOKFSuyHCs0NDTL9xFn29Y5c+Zw6623UqJECWrUqEHt2rVZtWoVhw4dIiEhgXbt2iEi3HnnnXz//fcZZQYMGADATTfdxKJFizDG8PPPP9OlSxfCwsIoW7YsXbp0yUg4Mps0aRINGzakadOm3HrrrQBMnz49o0Zg4MCBDBs2jI4dO1KzZk1+//137r77bho0aMDAgQMBR3I0cOBAGjduTJMmTXjjjTdyvb7BwcG0b9+ewMDAC9YlJiby+uuv8/TTT+dYPqfzlFv5yMhImjZtisWS9dZm27Zt2Gw2unTpAjiuW8mSJXONXymVM00ePCg1ze7tEJRSqki69dZbmTlzJsnJyWzatIk2bdpkrHvhhRfo1KkTq1ev5rfffmPUqFGcPXuWChUq8Msvv7Bu3Tq++uor7r///owy69ev580332Tbtm3ExMSwbNmyC47Zt29fVq9ezcaNG2nQoAEffvghUVFRjBs3jltuuYUNGzbw8ssvExQUxIYNG5gxYwbbt2/nq6++YtmyZWzYsAGr1cqMGTMAR1LQuHFjVq5cSfv27S843lNPPUW1atWYMWNGRs3DgQMHqFatWsY2VatW5cCBAxw4cICqVatesDx7GT8/P0qXLs3x48dz3Fd2EyZMYP369WzatIn33nvP5fU4efIkixcv5o033qB379489NBDbN26lc2bN7Nhwwb27NnDgQMH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\n",
"text/plain": [
"<Figure size 936x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"runs = 30000\n",
"x = np.arange(runs)\n",
"s = simulate(runs)\n",
"y = np.array(s)\n",
"fig, ax = plt.subplots()\n",
"ax.plot(x,y)\n",
"ax.set_ylim(12, 16)\n",
"ax.set(xlabel=\"# of sims\", ylabel=\"running average of waiting time (min)\",\n",
" title=\"Simulation: Waiting for a haircut by Tiffany\")\n",
"ax.grid()\n",
"ax.annotate(\"Mean after \" + str(runs) + \" sims: \" + \"{:.4f}\".format(s[runs-1]),\n",
" xy=(runs-1,s[runs-1]), arrowprops=dict(arrowstyle=\"->\"),\n",
" xytext=(runs*.5,15.5))\n",
"fig.set_figwidth(13)\n",
"fig.set_figheight(5)"
]
},
{
"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.6.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
numpy==1.16.*
matplotlib==3.*
seaborn==0.8.1
python-3.6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment