{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Plotting in Jupyter notebooks\n",
    "how to plot results in real time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from IPython.display import display, clear_output"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "method 1: clear axes before plotting"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(1, 1, 1) \n",
    "\n",
    "for i in range(20):\n",
    "    x = np.arange(0, i, 0.1);\n",
    "    y = np.sin(x)\n",
    "    \n",
    "    ax.set_xlim(0, i)\n",
    "    \n",
    "    ax.cla()\n",
    "    ax.plot(x, y)\n",
    "    display(fig)\n",
    "    \n",
    "    clear_output(wait = True)\n",
    "    plt.pause(0.5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "method 2: set fixed x range and don't clear axes every step"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYcAAAD4CAYAAAAHHSreAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAaAUlEQVR4nO3df3DUdZ7n8df7dGYouaDBoGJHTMwqNdqieF0BWTbuMbOolCWzOxMKOWvxdGUcL8XBFTXL1lRNbU3VVjmz3GGxzI4iUrLrIoKzc3IeW+iMe6RS/IgtQmzGiRJDMC2igQg5PWbG2ff90d2Z7nw7Ido/vp3k+ajqSvenP/l+3375+n319/tO8jV3FwAA2f5d2AUAACoP4QAACCAcAAABhAMAIIBwAAAEXBx2AcOpqanxurq6sMsAgDHl9ddf73P3aYUup2LDoa6uTvF4POwyAGBMMbOeYiyHy0oAgADCAQAQQDgAAAIIBwBAAOEAAAggHAAAAYQDACCAcAAABBAOAIAAwgEAEEA4AAACCAcAQADhAAAIKEo4mNkWM/vQzBLDvG9mtsHMjplZh5ndVoz1AgBKo1hnDs9IumuE9++WdH36sULST4q0XkwAPT1P6kz//pyxM/371dPzZEgV4dCeHvV29ueM9Xb269Ceovy1aFSAooSDu7dKOjPClMWS/sFTDki6zMymF2PdGP+qpsxSIrFyMCDO9O9XIrFSVVNmhVzZxHVF3RTteSoxGBC9nf3a81RCV9RNCbkyFEu5bvYTkfRe1uve9NjJ7ElmtkKpMwvNmDGjTKWh0k2tvl3R6AYlEisViSxTMrlN0egGTa2+PezSJqzamdW68+Go9jyVULQpokRrUnc+HFXtzOqwS0ORVFRD2t03uXvM3WPTphV8lzuMI1Orb1ckskzHj29UJLKMYKgAtTOrFW2KKL77uKJNEYJhnClXOCQlXZP1ujY9BozKmf79Sia3qa6uRcnktkAPAuXX29mvRGtSsUV1SrQmAz0IjG3lCoddkv48/VNLcyWddfeTF/omQPp9jyEa3aCG61YPXmIiIMKT6THc+XBUc+69bvASEwExfhTrR1mfk7Rf0kwz6zWzh8zsETN7JD1lt6R3JR2T9JSkR4uxXkwMA+c6cnoMmR7EwLmOkCubuD48fi6nx5DpQXx4/FzIlaFYzN3DriGvWCzm8Xg87DIAoOI9sbdLs2ov1byGGpnZ6+4eK3SZFdWQrhRbElvUfrI9Z6z9ZLu2JLaEVBEADG9W7aVq2faG9nX1FW2ZhEMe0cujWrN3zWBAtJ9s15q9axS9PBpyZQAQNK+hRhuXzVbLtjd0UVXN1cVYZrl+z2FMaZzeqHV3rNOavWu0ZOYS7ejcoXV3rFPj9MawSwOAvOY11Oj+OTP0V5MvK8ovGHPmMIzG6Y1aMnOJnux4UktmLiEYAFS0fV19evbgCf3uk4+L8pOghMMw2k+2a0fnDn171re1o3NHoAcBAJViX1efWra9oY3LZut3A33vF2OZhEMemR7DujvWqWV2y+AlJgICQCXq6D2rjctma15DTdGWOf7Coe1xqbs1d6y7NTU+SonTiZweQ6YHkTid9y+SA0CoHrmjoajBII3HcIjcJu184PcB0d2aeh0Z/S0kHow+GOgxNE5v1IPRB4tXJwBUsPH300r1TVLzM6lAiD0kxZ9Ova5vCrkwABg7xt+Zg5QKgthDUuuPUl8JBgD4XMZnOHS3ps4Ymr6b+jq0BwEAGNH4C4dMj6H5GWnB935/iYmAAIBRG3/hkDyU22PI9CCSh8KsCgDGlPHXkJ6/KjhW30TfAQA+h/F35gAAKBjhAAAIIBwAAAGEAwAggHAAAAQQDgCAAMIBABBAOAAAAggHAEAA4YCSa2trU3d3d85Yd3e32traQqoIlaD9xRd0ItGRM3Yi0aH2F18IqSJkIxxQcpFIRDt37hwMiO7ubu3cuVORSCTkyhCmqxpu0EuPPzYYECcSHXrp8cd0VcMNIVcGSTJ3D7uGvGKxmMfj8bDLQJFkAiEWiykej6u5uVn19fVhl4WQZQLhloWLdOTl3bpn1VrNiM4Ku6wxzcxed/dYocvhzAFlUV9fr1gsptbWVsViMYIBkqQZ0Vm6ZeEiHfjpdt2ycBHBUEEIB5RFd3e34vG4mpqaFI/HAz0ITEwnEh068vJuzf3mUh15eXegB4HwEA4oucwlpebmZi1YsEDNzc05PQhMTJlLSvesWqs/XHK/7lm1NqcHgXARDii5ZDKZ02Oor69Xc3OzkslkyJUhTB90vZ3TY5gRnaV7Vq3VB11vh1wZJBrSADCu0JAGAJQM4QAACCAcAAABhAMAIIBwAAAEEA4AgICihIOZ3WVmnWZ2zMzW5nn/ATP7yMwOpx9/UYz1AgBK4+JCF2BmF0n6saQ/kdQr6TUz2+Xuvxwy9Xl3byl0fQCA0ivGmUOjpGPu/q67/0bSdkmLi7BcAEBIihEOEUnvZb3uTY8N9U0z6zCzF8zsmnwLMrMVZhY3s/hHH31UhNIAAF9EuRrS/0tSnbvPkvSKpK35Jrn7JnePuXts2rRpZSoNADBUMcIhKSn7TKA2PTbI3U+7+6/TLzdL+g9FWC8AoESKEQ6vSbrezOrN7MuSlkralT3BzKZnvbxX0ltFWC8AoEQKDgd3/0xSi6Q9Sh30d7j7UTP7gZndm5620syOmtkRSSslPVDoegF8Mac3b9YnBw7mjH1y4KBOb94cUkWoREXpObj7bne/wd0b3P1v0mPfd/dd6ed/5e43ufst7v4f3f1XxVgvMFobe06prX8gZ6ytf0Abe06FVFF4JkVvVnL16sGA+OTAQSVXr9ak6M0hV4ZKwm9IY0K4dcolWnH0+GBAtPUPaMXR47p1yiUhV1Z+k+fOUWT9eiVXr9ZHGzYouXq1IuvXa/LcOWGXhgpS8C/BAWPB/OoqbbqpTiuOHtfyq2u09f0+bbqpTvOrq8IuLRST585R9X1L1ff3P1HNo98hGBDAmQMmjPnVVVp+dY3W95zS8qtrJmwwSKlLSf3PbVfNo99R/3PbAz0IgHDAhNHWP6Ct7/dp9bVXauv7fYEexESR6TFE1q/XtJUrBy8xERDIRjhgQsj0GDbdVKe/vG764CWmiRgQ5xNv5vQYMj2I84k3Q64MlcTcPewa8orFYh6Px8MuA+PExp5TunXKJTmXktr6B3T43KdqufbKECsDisvMXnf3WKHLoSGNCSFfAMyvrprQfQdgJFxWAgAEEA4AgADCAQAQQDgAAAIIBwBAAOEAAAggHAAAAYQDACCAcAAABBAOAIAAwgEAEEA4AAACCAcAQADhAAAIIBwAAAGEAwAggHAokdObNwfuyfvJgYM6vXlzSBUBqFQbe04Fblnb1j+gjT2nQqqIcCiZSdGbc27anrmp+6TozSFXBqDS3Drlkpx7mmfueX7rlEtCq4l7SJdQJhCq71uq/ue259zUHQCyZQJh+dU12vp+nzbdVPeFbmNbrHtIc+ZQQpPnzlH1fUvV9/c/UfV9SwkGAMOaX12l5VfXaH3PKS2/uib0+5sTDiX0yYGD6n9uu2oe/Y76n9se6EEAQEZb/4C2vt+n1ddeqa3v9wV6EOVGOJRI5pJSZP16TVu5UpH163N6EACQkbmktOmmOv3lddO16aa6nB5EGAiHEjmfeDOnxzB57hxF1q/X+cSbIVcGoNIcPvdpTo9hfnWVNt1Up8PnPg2tJhrSADCO0JAGAJQM4QAACCAcAAABhAMAIIBwAAAEFCUczOwuM+s0s2NmtjbP+18xs+fT7x80s7rRLntfV5+e2NtVjDIBAKNUcDiY2UWSfizpbkk3SrrPzG4cMu0hSf3u/geS1kv64WiWva+rTy3b3tCs2ksLLRMA8DkU48yhUdIxd3/X3X8jabukxUPmLJa0Nf38BUlfMzMbaaGnzp1Xy7Y3tHHZbM1rqClCmQCA0SpGOEQkvZf1ujc9lneOu38m6ayky4cuyMxWmFnczOIfDvxa98+ZQTAAQAgqqiHt7pvcPebusSuqvqJnD57Qvq6+sMsCgAmnGOGQlHRN1uva9FjeOWZ2saRLJZ0eaaFXTpmkjctmq2XbGwQEAJRZMcLhNUnXm1m9mX1Z0lJJu4bM2SVpefr5tyS96qP4o07zGmq0cdlsdfSeLUKZAIDRurjQBbj7Z2bWImmPpIskbXH3o2b2A0lxd98l6WlJ/2hmxySdUSpARmVeQw19BwAos4LDQZLcfbek3UPGvp/1/Lyk5mKsCwBQehXVkAYAVAbCAQAQQDgAAAIIBwBAAOEAAAggHAAAAYQDACCAcAAABBAOAIAAwgEAEEA4AAACCAcAQADhAAAIIBwAAAGEAwAggHAAAAQQDhjRwN73dL7r45yx810fa2Dve+EUBKAsCAeM6Eu1VTqz7a3BgDjf9bHObHtLX6qtCrcwTHh8cCktwgEjmtRwmaYu+6rObHtLZ18+rjPb3tLUZV/VpIbLwi4NExwfXEqrKPeQxvg2qeEyTZ4zXQOvvqeqBdcQDKgI2R9cJs+Zrk8OnuSDSxFx5oALOt/1sT45eFJVC67RJwdPBk7lgbBkf3CZPGc6wVBEhANGlDlVn7rsq7p0Yd3gJzUCApWADy6lQzhgRL/tHcg5Vc+cyv+2dyDcwjDh8cGltOg5YERVd1wTGJvUcBmn7wjdSB9c2D8LRzgAGJP44FJaXFYCAAQQDgCAAMIBABBAOAAAAggHAEAA4QAACCAcAAABhAMAIIBwAAAEEA4AgADCAQAQUFA4mNlUM3vFzN5Jf60eZt7vzOxw+rGrkHUCAEqv0DOHtZJ+4e7XS/pF+nU+/8/db00/7i1wnQCAEis0HBZL2pp+vlXSNwpcHgCgAhQaDle6+8n08w8kXTnMvElmFjezA2b2jeEWZmYr0vPiH330UYGlAQC+qAuGg5n93MwSeR6Ls+e5u0vyYRZzrbvHJC2T9LiZNeSb5O6b3D3m7rFp06Z93v8WoKSe2NulfV19OWP7uvr0xN6ustWwJbFF7Sfbc8baT7ZrS2JL2WrAxHDBcHD3r7t7NM/jRUmnzGy6JKW/fjjMMpLpr+9K+j+SZhftvwAok1m1l6pl2xuDAbGvq08t297QrNpLy1ZD9PKo1uxdMxgQ7SfbtWbvGkUvj5atBkwMlvrA/wW/2exvJZ1298fMbK2kqe7+3SFzqiV96u6/NrMaSfslLXb3X4607Fgs5vF4/AvXBpRCJhDunzNDzx48oY3LZmteQ01Za8gEwpKZS7Sjc4fW3bFOjdMby1oDKpeZvZ6+UlOQQnsOj0n6EzN7R9LX069lZjEz25ye81VJcTM7IulfJT12oWAAKtW8hhrdP2eGNrx6TPfPmVH2YJCkxumNWjJziZ7seFJLZi4hGFASBd1D2t1PS/panvG4pL9IP98n6eZC1gNUin1dfXr24AmtXPAHevbgCc1tuDyUM4cdnTv07Vnf1o7OHWq8qpGAQNHxG9LAKGUuKW1cNlv/beFMbVw2O6cHUQ6ZS0rr7linltktWnfHupweBFAshAMwSh29Z3N6DPMaarRx2Wx19J4tWw2J04mcHkPj9Eatu2OdEqcTZasBE0NBDelSoiENAJ9fpTSkAQDjEOEAAAggHAAAAYQDACCAcAAABBAOAIAAwgEAEEA4AAACCAcAQADhAAAIIBwAAAGEAwAUoKfnSZ3p358zdqZ/v3p6ngypouIgHCrUoT096u3szxnr7ezXoT09IVUEIJ+qKbOUSKwcDIgz/fuVSKxU1ZRZIVdWGMKhQl1RN0V7nkoMBkRvZ7/2PJXQFXVTQq4MQLap1bcrGt2gRGKlut5dr0RipaLRDZpafXvYpRWkoDvBoXRqZ1brzoej2vNUQtGmiBKtSd35cFS1M6vDLg3AEFOrb1ckskzHj29UXV3LmA8GiTOHilY7s1rRpojiu48r2hQhGIAKdaZ/v5LJbaqra1EyuS3QgxiLCIcK1tvZr0RrUrFFdUq0JgM9CADhy/QYotENarhu9eAlprEeEIRDhcr0GO58OKo59143eImJgAAqy8C5jpweQ6YHMXCuI+TKCsNtQivUoT09uqJuSs6lpN7Ofn14/Jxuu/PaECsDUMmKdZtQGtIVKl8A1M6spu8AoCy4rAQACCAcAAABhAMAIIBwAAAEEA4AgADCAQAQQDgAAAIIBwBAAOEAAAggHAAAAYTDONb+4gs6kcj9418nEh1qf/GFkCoCKktbW5u6u7tzxrq7u9XW1hZSRZWDcBjHrmq4QS89/thgQJxIdOilxx/TVQ03hFwZUBkikYh27tw5GBDd3d3auXOnIpFIyJWFj7/KOs5lAuGWhYt05OXdumfVWs2Iju172wLFlAmEWCymeDyu5uZm1dfXh13WF1asv8rKmcM4NyM6S7csXKQDP92uWxYuIhiAIerr6xWLxdTa2qpYLDamg6GYCgoHM2s2s6Nm9m9mNmxSmdldZtZpZsfMbG0h68TncyLRoSMv79bcby7VkZd3B3oQKLO2x6Xu1tyx7tbUOELR3d2teDyupqYmxePxQA9ioir0zCEh6c8ktQ43wcwukvRjSXdLulHSfWZ2Y4HrxShkLinds2qt/nDJ/bpn1dqcHgRCELlN2vnA7wOiuzX1OnJbmFVNWJlLSs3NzVqwYIGam5tzehATWUHh4O5vuXvnBaY1Sjrm7u+6+28kbZe0uJD1YnQ+6Ho7p8cwIzpL96xaqw+63g65sgmsvklqfiYVCK/+Tepr8zOpcZRdMpnM6THU19erublZyWQy5MrCV447wUUkvZf1ulfSnHwTzWyFpBWSNGPGjNJXNs41Lv5WYGxGdBZ9h7DVN0mxh6TWH0lN3yUYQjR//vzAWH19PX0HjeLMwcx+bmaJPI+if/p3903uHnP32LRp04q9eKAydLdK8adTwRB/OtiDACrABc8c3P3rBa4jKemarNe16TFg4sn0GDKXkur/iEtLqEjl+FHW1yRdb2b1ZvZlSUsl7SrDeoHKkzyUGwSZHkTyUJhVAQEF9RzM7E8l/Z2kaZL+t5kddvc7zexqSZvdfZG7f2ZmLZL2SLpI0hZ3P1pw5cBYNH9VcKy+ibMGVJyCwsHdfybpZ3nG35e0KOv1bkm7C1kXAKB8+A1pAEAA4QAACCAcAAABhAMAIIBwAAAEEA4AgADCAQAQQDgAAAIIBwBAAOEAAAggHAAAAYQDACDA3D3sGvIyswFJF7oFaSWokdQXdhGjQJ3FRZ3FNRbqHAs1StJMd68qdCHluE3oF9Xp7rGwi7gQM4tTZ/FQZ3FRZ/GMhRqlVJ3FWA6XlQAAAYQDACCgksNhU9gFjBJ1Fhd1Fhd1Fs9YqFEqUp0V25AGAISnks8cAAAhIRwAAAGhh4OZ3WVmnWZ2zMzW5nn/K2b2fPr9g2ZWF0KN15jZv5rZL83sqJn91zxz/tjMzprZ4fTj++WuM13HcTN7M11D4EfaLGVDent2mNltIdQ4M2s7HTazc2a2asicULanmW0xsw/NLJE1NtXMXjGzd9Jfq4f53uXpOe+Y2fIQ6vxbM/tV+t/1Z2Z22TDfO+I+UoY6/9rMkln/touG+d4Rjw0lrvH5rPqOm9nhYb63nNsy73GoZPunu4f2kHSRpC5J10n6sqQjkm4cMudRSU+kny+V9HwIdU6XdFv6eZWkt/PU+ceSXgpze6brOC6pZoT3F0n6F0kmaa6kgxWwD3wg6dpK2J6SmiTdJimRNfYjSWvTz9dK+mGe75sq6d301+r08+oy17lQ0sXp5z/MV+do9pEy1PnXktaMYr8Y8dhQyhqHvP/fJX2/ArZl3uNQqfbPsM8cGiUdc/d33f03krZLWjxkzmJJW9PPX5D0NTOzMtYodz/p7ofSzwckvSUpUs4aimixpH/wlAOSLjOz6SHW8zVJXe7eE2INg9y9VdKZIcPZ++BWSd/I8613SnrF3c+4e7+kVyTdVc463f1ld/8s/fKApNpSrX+0htmeozGaY0NRjFRj+lizRNJzpVj35zHCcagk+2fY4RCR9F7W614FD7qDc9I7/llJl5elujzSl7VmSzqY5+3bzeyImf2Lmd1U3soGuaSXzex1M1uR5/3RbPNyWqrh/8erhO0pSVe6+8n08w8kXZlnTqVt1weVOkPM50L7SDm0pC9/bRnmMkilbM8/knTK3d8Z5v1QtuWQ41BJ9s+ww2FMMbN/L+mnkla5+7khbx9S6tLILZL+TtL/LHN5GfPd/TZJd0v6L2bWFFIdF2RmX5Z0r6Sded6ulO2Zw1Pn6BX9899m9j1Jn0n6p2GmhL2P/ERSg6RbJZ1U6rJNpbpPI581lH1bjnQcKub+GXY4JCVdk/W6Nj2Wd46ZXSzpUkmny1JdFjP7klL/IP/k7v889H13P+fu/zf9fLekL5lZTZnLlLsn018/lPQzpU7Ps41mm5fL3ZIOufupoW9UyvZMO5W59Jb++mGeORWxXc3sAUn3SPpP6QNFwCj2kZJy91Pu/jt3/zdJTw2z/tC3Z/p482eSnh9uTrm35TDHoZLsn2GHw2uSrjez+vSnyKWSdg2Zs0tSprP+LUmvDrfTl0r6uuPTkt5y9/8xzJyrMr0QM2tUatuWNcTMbLKZVWWeK9WgTAyZtkvSn1vKXElns05Jy23YT2WVsD2zZO+DyyW9mGfOHkkLzaw6fZlkYXqsbMzsLknflXSvu386zJzR7CMlNaTH9afDrH80x4ZS+7qkX7l7b743y70tRzgOlWb/LEeX/QId+EVKdd27JH0vPfYDpXZwSZqk1GWHY5LaJV0XQo3zlTpV65B0OP1YJOkRSY+k57RIOqrUT1UckDQvhDqvS6//SLqWzPbMrtMk/Ti9vd+UFAvp332yUgf7S7PGQt+eSoXVSUm/Veq67ENK9bh+IekdST+XNDU9NyZpc9b3PpjeT49J+s8h1HlMqevKmX0081N+V0vaPdI+UuY6/zG973UodWCbPrTO9OvAsaFcNabHn8nsj1lzw9yWwx2HSrJ/8uczAAABYV9WAgBUIMIBABBAOAAAAggHAEAA4QAACCAcAAABhAMAIOD/AyNWOgyByYoXAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(1, 1, 1) \n",
    "\n",
    "for i in range(21):\n",
    "    ax.set_xlim(0, 20)\n",
    "    ax.set_ylim(-1.2, 1.2)\n",
    "    \n",
    "    ax.plot(i, np.sin(i),marker='x')\n",
    "    display(fig)\n",
    "    \n",
    "    clear_output(wait = True)\n",
    "    plt.pause(0.5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "clear_output(wait=True) will erase the current contents when the next content is displayed, so don't print anything after plotting!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "This message will erase the figure, be careful\n"
     ]
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(1, 1, 1) \n",
    "\n",
    "for i in range(10):\n",
    "    x = np.arange(0, i, 0.1);\n",
    "    y = np.sin(x)\n",
    "    \n",
    "    ax.set_xlim(0, i)\n",
    "    \n",
    "    ax.cla()\n",
    "    ax.plot(x, y)\n",
    "    display(fig)\n",
    "    \n",
    "    clear_output(wait = True)\n",
    "    plt.pause(0.5)\n",
    "print(\"This message will erase the figure, be careful\")"
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1"
  },
  "kernelspec": {
   "display_name": "Python 3.10.4 64-bit",
   "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.10.4"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}