Skip to content
Snippets Groups Projects
ausarbeitung.ipynb 73.7 KiB
Newer Older
      "│   └── LegoComponent technic_pin_4_2 [a95ffa8b-80c3-42ee-a8c6-104806e2db6a]\n",
      "├── LegoAssembly entire drive motor2 [66deb79a-b65d-4576-92f4-441411b98388]\n",
      "│   ├── LegoComponent motor2 [aaf04496-37ab-4962-b4f9-516148001a76]\n",
      "│   ├── LegoComponent axle input [d5d54f04-4339-4b7a-8a46-2b179427450c]\n",
      "│   └── LegoComponent antrieb gear2 [1b7f71be-9c26-4ba4-bb5a-0ea8311ab5a7]\n",
      "├── LegoComponent technic bush 1 2 [08de8521-f809-4a40-bb42-4970f5a6d3c1]\n",
      "├── LegoComponent technic_bush_2_2 [15a8598d-e828-4ebc-944c-fc8fd5001ab1]\n",
      "├── LegoComponent technic_bush_3_2 [b86d490b-5cba-4df5-ade9-a8381cb6db99]\n",
      "├── LegoComponent technic_bush_4_2 [0e5ebe56-f77f-4dd1-ac5e-331934a8d8bc]\n",
      "├── LegoComponent technic long pin1 [fced9863-5fe8-4e77-8524-dfe14f9739f2]\n",
      "└── LegoComponent technic long pin2 [e5cff6c2-b80e-4448-8f8e-bf3e399632b6]\n"
   "source": [
    "# aggregate components\n",
    "\n",
    "wheels2 = []\n",
    "\n",
    "for i in range(4):\n",
    "    wheel2 = LegoAssembly(AggregationLayer.SUBASSEMBLY, f\"wheel_{i+1}_2\", assembly_method=\"join lego blocks\")\n",
    "    wheel2.add([rims2[i], tires2[i]])\n",
    "    wheels2.append(wheel2)\n",
    "\n",
    "antrieb_axle2=LegoAssembly(AggregationLayer.SUBASSEMBLY, \"antrieb axle2\")\n",
    "antrieb_axle2.add([axle_side_1_2,abtrieb_gear2])\n",
    "\n",
    "\n",
    "frame_axles2=LegoAssembly(AggregationLayer.SUBASSEMBLY, \"frame axles2\")\n",
    "frame_axles2.add([green_base, axle_side_2_2, antrieb_axle2])\n",
    "\n",
    "\n",
    "\n",
    "entire_drive_motor2=LegoAssembly(AggregationLayer.SUBASSEMBLY, \"entire drive motor2\")\n",
    "entire_drive_motor2.add([motor2, axle_input2,antrieb_gear2])\n",
    "\n",
    "\n",
    "pinned_battery2=LegoAssembly(AggregationLayer.SUBASSEMBLY, \"pinned battery2\")\n",
    "pinned_battery2.add([battery2, technic_pins2[0],technic_pins2[1],technic_pins2[2],technic_pins2[3]])\n",
    "\n",
    "\n",
    "entire_auto_assembly2=LegoAssembly(AggregationLayer.SYSTEM, \"entire auto assembly2\")\n",
    "entire_auto_assembly2.add([frame_axles2,wheels2[0],technic_bushes2[0],wheels2[1],technic_bushes2[1],wheels2[2],technic_bushes2[2],wheels2[3],\n",
    "                          technic_bushes2[3], pinned_battery2, entire_drive_motor2,technic_long_pin1,technic_long_pin2])\n",
    "\n",
    "print_assembly_tree(entire_auto_assembly2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "89e54480",
   "metadata": {},
   "source": [
    "Bestimmen Sie die KPIs des zweiten Fahrzeugs"
   ]
  },
  {
   "cell_type": "code",
   "id": "762a1e93",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "You called the test function.\n"
     ]
    }
   ],
   "source": [
    "# calculate the KPIs for your car\n",
    "\n",
    "calculation_rules.test_function()\n",
    "\n",
    "total_delivery_time2=calculation_rules.kpi_delivery_time(entire_auto_assembly2)\n",
    "total_co2_emissions2=calculation_rules.kpi_total_co2_emissions(entire_auto_assembly2)\n",
    "total_price2=calculation_rules.kpi_total_price(entire_auto_assembly2)\n"
   ]
  },
  {
   "cell_type": "code",
   "id": "1ed67328",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Total delivery time is:  12 Days\n",
      "Total CO2 emissions are:  2.5235498 Grams\n",
      "Total preis is:  31.212600000000005 Euro\n"
     ]
    }
   ],
   "source": [
    "print(\"Total delivery time is: \", total_delivery_time2, \"Days\")\n",
    "print(\"Total CO2 emissions are: \", total_co2_emissions2, \"Kilograms\")\n",
    "print(\"Total preis is: \", total_price2, \"Euro\")"
  {
   "cell_type": "markdown",
   "id": "0f11b370",
   "metadata": {},
   "source": [
    "Exportieren Sie Ihr Fahrzeug inklusive der KPIs:"
   "id": "05d9d6f7",
   "metadata": {},
   "outputs": [],
   "source": [
    "# export car and its properties\n",
    "\n",
    "entire_auto_assembly2.properties[\"delivery time [days]\"]=total_delivery_time2\n",
    "entire_auto_assembly2.properties[\"environmental impact [kg CO2e /kg]\"]=total_co2_emissions2\n",
    "entire_auto_assembly2.properties[\"price [Euro]\"]=total_price2\n",
    "\n",
    "with open(\"entire_auto_assembly2.json\", \"w\") as fp:\n",
    "    json.dump(entire_auto_assembly2.to_dict(), fp, cls=KPIEncoder, indent=4)"
  {
   "cell_type": "markdown",
   "id": "e413cd84",
   "metadata": {},
   "source": [
    "## Diskussion\n",
    "### Ergebnisse\n",
    "Stellen Sie die entwickelten KPIs beider Fahrzeuge gegenüber und wählen Sie hierfür unter anderem eine geeignete\n",
    "grafische Darstellung. Stellen Sie dabei insbesondere sicher, dass die Datengrundlage ersichtlich ist. Halten Sie\n",
    "auch die Plotbefehle im Notebook fest:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "b0f93e22",
   "metadata": {},
      "image/png": "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qDF/JmRKT09Xnz591KlTJ+3bt087d+7U008/LYvFIkkKCwtTzZo1FRMToz179ujll19WuXLlsu3rdj+zTFOnTtWAAQO0b98+9ezZU2FhYdYA8/rrr+vgwYP65ptvdOjQIc2ZM0dVq1a9432TlJSkbt266fr169q8ebMqV66slJQU9erVS82aNdNPP/2kv//973rppZfu+DVQuri6uurGjRvWx8ePH9fy5cu1YsWKHIP00KFDtXTpUv3jH//QoUOH9Omnn1pHIxMSEtSpUye1bNlSu3fv1vr163XmzBm7nsL2559/avr06fryyy914MABVa9eXeHh4dq9e7fWrFmjnTt3yjAM9ezZ02ZfoJQyUOJFRkYaXl5e1sft27c3Ro4cabPNY489ZvTs2dP6WJKxatWq2/bduHFj46OPPrI+DggIMD744IMct58yZYrRokWLbNe99NJLhqurq2EYhnH8+HHDYrEYf/zxh802Xbp0MSZPnpzt+zL3PX78eKNz587Wx99++63h7OxsXLx40TAMwxgyZIjx9NNP2/T//fffGw4ODsbVq1et76dPnz4221y7ds2oXLmysWzZMmtby5YtjYiIiBzfd6a4uDhDkvHzzz/btG/dutWQZFy6dMn63iQZx48ft24zatQow83NzUhJSbG2PfTQQ8aoUaMMw8jbPstOdj9r87691Zw5cwxJxpkzZ7Jdf/bsWUOSsX//fsMwbr+/VqxYYXh6ehrJyck51phTnfhLcTnGz5w5Y0gyZs2alWufS5cuzfY4yDR+/HjrZ4HZ+fPnjVq1ahmvvvpqrq8xbNgww9HR0ahQoYLN8uabb1q3kWS89tpr1sc7d+40JBlz5861ti1ZssQoX7689fGtnzMXLlwwJBlRUVHZ1uDh4WHMnz8/23V3+jO7td4rV64YFovF+OabbwzDMIxevXoZTz75ZE67JItOnToZzz33nE1b5mfR4cOHjRYtWhj9+vUz0tLSrOvnzJljVKlSxfoZaRiG8cUXX2T788zt8x4l37Bhw4zevXtbH//www9GlSpVjAEDBhiG8dfPv1y5csbZs2dtnnfr792RI0cMScbGjRuzfY3XX3/d6Natm03bqVOnDEnGkSNHsn1OTt9fnTp1MsqVK5flMyHzGDV/DxuGYfz888+GJCMuLs7atyQjNjbWus3Ro0cNScb27dutbefPnzdcXV2N5cuX29Rg3mco+RhRKoUOHTqkBx54wKbtgQce0KFDh3J9XmpqqiZNmqTGjRurYsWKcnd31+HDhwtkREmSDMOw/k/sTz/9JMMwVL9+fes1Ae7u7oqOjrY5DSY3YWFhioqK0unTpyX9NYrRs2dP66k3e/bs0fz58236f+ihh5SRkaG4uDhrP61atbLp18XFRYMHD9a8efMk/TU0v3fv3ttePJ9fbm5uqlu3rvWxt7e3AgMDbc779/b21tmzZyUVzD7LC+P/vxg/82f166+/atCgQapTp448PT1Vu3ZtSbL+Xtxuf3Xt2lUBAQGqU6eOhgwZokWLFtlczI/8s9cxbv7duFO3fhbcKjk5WQ8//LAaN26sKVOm3LafkJAQxcbG2ixjxoyx2aZ58+bWf3t7e0uSmjVrZtN27do1JScnZ+m/cuXKCg8Pt468mScemThxokaMGKHQ0FC98847uR6Hef2Z3VpvhQoV5OHhYf0MGD16tJYuXaqWLVtq0qRJ2rFjR46vdzuhoaGqU6eOli9fbnNd5pEjR9S8eXOVL1/e2nb//fff8eugZFu7dq3c3d1Vvnx5tWvXTh07dtRHH31kXR8QEGA95Tw7sbGxcnR0tDkl/lZ79uzR1q1bbb7TGjZsKEl39L0WFhaW5TOhb9+++erD2dnZ5jg8dOiQnJyc1KZNG2tblSpV1KBBg9t+5qLkYzKHUsr8R0hOf5jc6sUXX9S3336r999/X/Xq1ZOrq6v69+9vnajgbh06dMj6R3ZGRoYcHR21Z88eOTo62myX1wuE77//ftWtW1dLly7V6NGjtWrVKpvz9TMyMjRq1CiNHz8+y3Nr1apl/XeFChWyrB8xYoRatmyp33//XfPmzVOXLl0UEBCQp7ryynyKTubMQua2zFPcCmKf5cWhQ4fk6empKlWqSJJ69eolf39/ffHFF/Lz81NGRoaaNm1q83uR2/7y8PDQTz/9pKioKG3YsEFvvPGGIiIiFBMTY/fpk0syexzj1apVU6VKlW77x0H9+vUl/XXtQXbTRx8+fFhBQUE2bSkpKerevbvc3d21atWqHE9hu1WFChVUr169XLe5tZ/M/ZNdW+ZxZhYZGanx48dr/fr1WrZsmV577TVt3LhRbdu2VUREhAYNGqSvv/5a33zzjaZMmaKlS5fm+IdZXn5muX0G9OjRQydPntTXX3+tTZs2qUuXLhozZozef//9XPdBdh5++GGtWLFCBw8etAmO2dVk3DKTIcqWkJAQzZkzR+XKlZOfn1+W38/svj9vdbsJTTIyMtSrVy+b65cz+fr65rteLy+vHD8TMk8DvvX3ObtT51xdXW2OgZx+//PymYuSjxGlUqhRo0batm2bTduOHTvUqFEj6+Ny5crZTBIgSd9//73Cw8PVt29fNWvWTD4+PtYLHO/W4cOHtX79ej366KOSpHvuuUc3b97U2bNnVa9ePZslPzM0DRo0SIsWLdJXX30lBwcHPfzww9Z19957rw4cOJCl/3r16t12ZrtmzZqpVatW+uKLL7R48WINHz78zt54ASqofZabs2fPavHixerTp48cHBx04cIFHTp0SK+99pq6dOmiRo0a6dKlS1med7v95eTkpNDQUM2YMUP79u3TiRMnsp0YA3ljr2PcwcFBAwcO1KJFi6wjubdKTU1Venq6WrZsqYYNG+qDDz7IEkD27t2rTZs26YknnrC2JScnq1u3bnJ2dtaaNWtsRjOKg3vuuUeTJ0/Wjh071LRpUy1evNi6rn79+vq///s/bdiwQf369ctxcoW8/Mzyolq1agoPD9e///1vzZ49W59//nn+35Ckd955R8OGDVOXLl108OBBa3vDhg21b98+m2sOM6/lQtmT+Z8RAQEBefrPC7NmzZopIyND0dHR2a7P/J4ODAzM8r12uxCWX5kjX7eOCudlgpLGjRsrPT1dP/zwg7XtwoULOnr0aL6PX5Q8BKVS6MUXX9T8+fP16aef6tixY5o1a5ZWrlypF154wbpNYGCgNm/erMTEROsfvvXq1dPKlSutp04NGjQox/9lzU16eroSExN1+vRp7d+/Xx999JH1Ys0XX3xR0l9/XISFhWno0KFauXKl4uLiFBMTo3fffVfr1q3L82uFhYXpp59+0ltvvaX+/fvb/IH10ksvaefOnRozZoxiY2N17NgxrVmzRuPGjctT3yNGjNA777yjmzdv5nvovjAU1D7LZBiGEhMTlZCQoEOHDmnevHlq3769vLy89M4770iSKlWqpCpVqujzzz/X8ePHtWXLFk2cODHb/nLaX2vXrtU//vEPxcbG6uTJk1qwYIEyMjLUoEGDO9sRsOsx/vbbb8vf319t2rTRggULdPDgQR07dkzz5s1Ty5YtdeXKFevsbQcPHtSjjz6qH3/8UfHx8frPf/6jXr16qV27dtZZsVJSUtStWzelpqZq7ty5Sk5OVmJiohITE7MEPbO0tDTrtpnLnc6WlZ24uDhNnjxZO3fu1MmTJ7VhwwbrH0dXr17V2LFjFRUVpZMnT2r79u2KiYnJ8Q+nvPzMbueNN97Q//73Px0/flwHDhzQ2rVr7+oPtffff19hYWHq3LmzDh8+LEnW34mnn35ahw4dso5ASnd/yiXKnsDAQA0bNkzDhw/X6tWrFRcXp6ioKC1fvlySNGbMGF28eFFPPPGEfvzxR/3222/asGGDhg8fftvjPzt//vlnls+EWz///P39FRERoaNHj+rrr7/WzJkzb9tnUFCQevfurZEjR2rbtm3au3evBg8erBo1aqh37975rhElC0GpFOrTp48+/PBDvffee2rSpIk+++wzRUZGKjg42LrNzJkztXHjRvn7++uee+6RJH3wwQeqVKmS2rdvr169eumhhx7Svffem+/XP3DggHx9fVWrVi0FBwdr+fLlmjx5sr7//nubU8QiIyM1dOhQPf/882rQoIH+9re/6YcffpC/v3+eXysoKEitW7fWvn37rLPdZWrevLmio6N17NgxPfjgg7rnnnv0+uuv53k4/4knnpCTk5MGDRpUbP6HuyD2Wabk5GT5+vqqRo0aateunT777DMNGzZMP//8s3UfOTg4aOnSpdqzZ4+aNm2q//u//9N7772XbX857a+KFStq5cqV6ty5sxo1aqRPP/1US5Yssd5nCvlnz2O8UqVK2rVrlwYPHqxp06bpnnvu0YMPPqglS5bovffes94T64EHHtCuXbvk6Oionj17ql69epo8ebKGDRumjRs3Wu93tGfPHv3www/av3+/6tWrJ19fX+ty6tSpXGtZv369zfa+vr7q0KFDvt5Pbtzc3HT48GE9+uijql+/vp5++mmNHTtWo0aNkqOjoy5cuKChQ4eqfv36GjBggHr06KGpU6dm21defma34+zsrMmTJ6t58+bq2LGjHB0dtXTp0rt6jx988IEGDBigzp076+jRo/L09NRXX32l2NhYtWzZUq+++qreeOMNSSo2n4MoWebMmaP+/fvr2WefVcOGDTVy5EjrbTr8/Py0fft23bx5Uw899JCaNm2q5557Tl5eXre9d1F2vvjiiyyfCZmj1+XKldOSJUt0+PBhtWjRQu+++66mTZuWp34jIyN133336ZFHHlG7du1kGIbWrVt3R6NsKFksBicfA9k6deqUAgMDFRMTc0eBsbiwWCxatWqV+vTpU6ivc7f7q6jqBMqK4OBgtWzZUrNnz76rfhYtWqQnn3xSSUlJNtecREREaPXq1dxfCUVq/vz5mjBhQpb7KBYH4eHhunz5svVeUyj5GFECTG7cuKH4+Hi99NJLatu2bYkOSZmeeOIJ1axZs1D6vtv99cwzzxToZBQA/p9PPvlE7u7u2r9/f56fs2DBAm3btk1xcXFavXq1XnrpJQ0YMMAakuLj4+Xu7q633367sMoGcpWUlCR3d/dic4+vzDNmFi1aZO9SUMAYUQJMoqKiFBISovr16+u///2vzYxQJdHx48clSY6OjtZZBwvS3e6vs2fPWqdm9vX1LfALeIGy6o8//tDVq1cl/TXT5+0msck0Y8YMffLJJ0pMTJSvr6/69Omjt956S25ubpL+ug41cxIQFxeXOzr1F7hTKSkpOnPmjKS/Tu2+m5suF5SrV6/qjz/+kPTXLLQFNcES7I+gBAAAAAAmnHoHAAAAACYEJQAAAAAwISgBAAAAgAlBCQAAAABMCEoAAAAAYEJQAgAAAAATghIAoEQKDw9Xnz59bNr++9//qnz58poxY4YiIiJksVhksVjk6Ogof39/jRgxQufOnbNub7FYtHr16qItHABQIhCUAAClwpdffqmwsDB9/PHHmjRpkiSpSZMmSkhIUHx8vObMmaOvvvpKQ4cOtXOlAICSgKAEACjxZsyYobFjx2rx4sUaMWKEtd3JyUk+Pj6qUaOGHnnkEY0fP14bNmzQ1atXs/Rx/fp1jR07Vr6+vipfvrwCAwM1ffr0onwbAIBixMneBQAAcDdefvll/fOf/9TatWsVGhqa67aurq7KyMhQenp6lnX/+Mc/tGbNGi1fvly1atXSqVOndOrUqcIqGwBQzBGUAAAl1jfffKP//e9/2rx5szp37pzrtocPH9acOXN0//33y8PDI8v6+Ph4BQUFqUOHDrJYLAoICCissgEAJQCn3gEASqzmzZsrMDBQb7zxhlJSUrKs379/v9zd3eXq6qrGjRvL399fixYtyrav8PBwxcbGqkGDBtZT9AAAZRdBCQBQYtWoUUPR0dFKSEhQ9+7ds4SlBg0aKDY2VgcPHtTVq1e1ZcsW1atXL9u+7r33XsXFxenvf/+7rl69qgEDBqh///5F8TYAAMUQQQkAUKLVqlVL0dHROnv2rLp166bk5GTrOmdnZ9WrV0+1a9eWi4vLbfvy9PTUwIED9cUXX2jZsmVasWKFLl68WJjlAwCKKYISAKDEq1mzpqKionThwgV169ZNSUlJ+e7jgw8+0NKlS3X48GEdPXpU//nPf+Tj46OKFSsWfMEAgGKPoAQAKBUyT8O7fPmyunbtqsuXL+fr+e7u7nr33XfVqlUrtW7dWidOnNC6devk4MBXJQCURRbDMAx7FwEAAAAAxQn/TQYAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAAAAAwISgBAAAAAAmBCUAAAAAMCEoAQAAAIDJ/wf4eWEO+xJXMAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot the data, save diagramm as svg-file\n",
    "\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "data_autos = {\n",
    "    'KPIs': ['Total Delivery Time [Days]', 'Total CO2 Emissions [kg]', 'Price [Euro]'],\n",
    "    'Auto 1': [13, 3.27, 32.94],\n",
    "    'Auto 2': [12, 2.52, 31.21]\n",
    "}\n",
    "\n",
    "\n",
    "data_frame = pd.DataFrame(data_autos)\n",
    "\n",
    "\n",
    "label_diagramm = data_frame['KPIs']\n",
    "Auto_1_data = data_frame['Auto 1']\n",
    "Auto_2_data = data_frame['Auto 2']\n",
    "\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(10, 6))\n",
    "x = range(len(label_diagramm))\n",
    "width = 0.45\n",
    "\n",
    "\n",
    "ax.bar(x, Auto_1_data, width=width, label='Auto 1', color='green')\n",
    "ax.bar([p + width for p in x], Auto_2_data, width=width, label='Auto 2', color='yellow')\n",
    "\n",
    "ax.set_title('KPIs beider Autos')\n",
    "ax.set_xlabel('KPIs')\n",
    "ax.set_ylabel('Werte')\n",
    "ax.set_xticks([p + width / 2 for p in x])\n",
    "ax.set_xticklabels(label_diagramm)\n",
    "ax.legend()\n",
    "\n",
    "fig.savefig(\"kpis_autos.svg\", format=\"svg\")\n",
    "\n",
    "\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6044de27",
   "metadata": {},
   "source": [
    "Interpretieren Sie Ihre Ergebnisse. Vergleichen Sie die KPIs Ihrer Autos. Konnten Sie Ihre gewünschte Verbesserung erzielen? Welche Schlüsse ziehen Sie aus den Ergebnissen für die Qualität der beiden\n",
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0ca884b1",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "4f117169",
   "metadata": {},
   "source": [
    "Diskutieren Sie, inwieweit Ihre entwickelten KPIs die im Skript erläuterten FAIR-Prinzipien erfüllen:"
   "cell_type": "markdown",
   "id": "f8ed82d2",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "bfed164a",
   "metadata": {},
   "source": [
    "## Fazit"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5d440f87",
   "metadata": {},
   "source": [
    "Ziehen Sie ein persönliches Fazit. Was haben Sie Neues gelernt?"
  },
  {
   "cell_type": "markdown",
   "id": "b4151784",
   "metadata": {},
   "source": []
  }
 ],
 "metadata": {
  "hide_input": false,
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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",
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  },
  "vscode": {
   "interpreter": {
    "hash": "386d359a8531ffdc4805ead3a16e7983e89a5ab7bba0cbec0e7ad9597b7a2b64"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}