From ad4272a581278278de683d068bfb0a8c76eaa9da Mon Sep 17 00:00:00 2001 From: Leon Plaza Date: Mon, 16 Oct 2023 22:32:25 +0200 Subject: [PATCH] Leon --- your-code/main.ipynb | 448 ++++++++++++++++++++++++++++++++++--------- 1 file changed, 361 insertions(+), 87 deletions(-) diff --git a/your-code/main.ipynb b/your-code/main.ipynb index f3bde01..bb1651a 100644 --- a/your-code/main.ipynb +++ b/your-code/main.ipynb @@ -24,11 +24,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 146, "id": "630d7e4d", "metadata": {}, "outputs": [], - "source": [] + "source": [ + "from functools import reduce \n", + "import math\n", + "import os\n", + "import random as rd\n", + "import sys" + ] }, { "cell_type": "markdown", @@ -40,6 +46,47 @@ "Remember to use list comprehensions and to print your results" ] }, + { + "cell_type": "code", + "execution_count": 5, + "id": "a875cb3b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[1,\n", + " 4,\n", + " 9,\n", + " 16,\n", + " 25,\n", + " 36,\n", + " 49,\n", + " 64,\n", + " 81,\n", + " 100,\n", + " 121,\n", + " 144,\n", + " 169,\n", + " 196,\n", + " 225,\n", + " 256,\n", + " 289,\n", + " 324,\n", + " 361,\n", + " 400]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "square = list(map(lambda x: x**2, range(1,21)))\n", + "square" + ] + }, { "cell_type": "markdown", "id": "1207cb2c", @@ -59,11 +106,44 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "c047115a", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "[1.0,\n", + " 1.4142135623730951,\n", + " 1.7320508075688772,\n", + " 2.0,\n", + " 2.23606797749979,\n", + " 2.449489742783178,\n", + " 2.6457513110645907,\n", + " 2.8284271247461903,\n", + " 3.0,\n", + " 3.1622776601683795,\n", + " 3.3166247903554,\n", + " 3.4641016151377544,\n", + " 3.605551275463989,\n", + " 3.7416573867739413,\n", + " 3.872983346207417,\n", + " 4.0,\n", + " 4.123105625617661,\n", + " 4.242640687119285,\n", + " 4.358898943540674,\n", + " 4.47213595499958]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sqrt = list(map(lambda x: math.sqrt(x), range(1,21)))\n", + "sqrt" + ] }, { "cell_type": "markdown", @@ -77,11 +157,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "e23d87ea", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "[-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0]" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "my_list = [x for x in range(-10,1)]\n", + "my_list" + ] }, { "cell_type": "markdown", @@ -95,11 +189,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "d8d1c865", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]\n" + ] + } + ], + "source": [ + "odds = [x for x in range(1,101) if x%2 == 1]\n", + "print(odds)" + ] }, { "cell_type": "markdown", @@ -112,11 +217,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "6a9cfb8c", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "[7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98]" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "divisible_by_seven = [x for x in range(1,101) if x%7 == 0]\n", + "divisible_by_seven" + ] }, { "cell_type": "markdown", @@ -129,24 +248,30 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "43b38bd3", + "execution_count": 41, + "id": "8d770ac0", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'prll'" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# You can use the following test string but feel free to modify at your convenience\n", - "\n", - "teststring = 'Find all of the words in a string that are monosyllabic'" + "c = \"bcdfghjklmnpqrstvwxyz\"\n", + "string = \"paralelo\"\n", + "non_vowel = [x for x in string if x.lower() in c]\n", + "non_vowel = reduce(lambda x,y: x + y, non_vowel)\n", + "non_vowel" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "d5fc7426", - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "markdown", "id": "277d491e", @@ -160,11 +285,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 64, "id": "3a43399c", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "string = \"The Quick Brown Fox Jumped Over The Lazy Dog\"\n", + "capital_letters = [x for x in string if x.isupper() == True]\n", + "capital_letters.index" + ] }, { "cell_type": "markdown", @@ -179,11 +319,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 46, "id": "3ddb68df", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['T', 'h', 'Q', 'c', 'k', 'B', 'r', 'w', 'n', 'F', 'x', 'J', 'm', 'p', 'd', 'v', 'r', 'T', 'h', 'L', 'z', 'y', 'D', 'g']\n" + ] + } + ], + "source": [ + "string = \"The Quick Brown Fox Jumped Over The Lazy Dog\"\n", + "c = \"bcdfghjklmnpqrstvwxyz\"\n", + "consonants = [x for x in string if x.lower() in c]\n", + "print(consonants)" + ] }, { "cell_type": "markdown", @@ -201,11 +354,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 135, "id": "22bb13eb", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 135, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "files = [os.listdir(\"/Users/leonplaza/Desktop/ironhack/lectures\")]\n", + "#files = [z for x in files for z in x]\n", + "\n", + "\n" + ] }, { "cell_type": "markdown", @@ -220,11 +389,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 94, "id": "120b29bd", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "[18, 47, 74, 32]" + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "random_list = [rd.choice(range(0,101)) for x in range(0,4)]\n", + "random_list" + ] }, { "cell_type": "markdown", @@ -238,22 +421,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 97, "id": "b3afebb7", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1, 2, 3, 4, 5, 6, 7, 8, 9]\n" + ] + } + ], "source": [ - "list_of_lists = [[1,2,3],[4,5,6],[7,8,9]]" + "list_of_lists = [[1,2,3],[4,5,6],[7,8,9]]\n", + "flatten_list = [x for y in list_of_lists for x in y]\n", + "print(flatten_list)" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "b6bcef37", - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "markdown", "id": "53c86611", @@ -267,7 +452,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 98, "id": "7087f44e", "metadata": {}, "outputs": [], @@ -279,11 +464,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 102, "id": "a932aff5", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[40.0, 20.0, 10.0, 30.0, 20.0, 20.0, 20.0, 20.0, 20.0, 30.0, 20.0, 30.0, 20.0, 30.0, 50.0, 10.0, 30.0, 20.0, 20.0, 20.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0]\n" + ] + } + ], + "source": [ + "floats = [float(x) for y in list_of_lists for x in y]\n", + "print(floats)" + ] }, { "cell_type": "markdown", @@ -295,13 +491,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 104, "id": "b5980ab4", "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "TypeError", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[104], line 3\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m----> 3\u001b[0m \u001b[38;5;28mprint\u001b[39m(i\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m2\u001b[39m)\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m:\n", + "\u001b[0;31mTypeError\u001b[0m: unsupported operand type(s) for ** or pow(): 'str' and 'int'", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[104], line 5\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28mprint\u001b[39m(i\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m2\u001b[39m)\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m:\n\u001b[0;32m----> 5\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m\n", + "\u001b[0;31mTypeError\u001b[0m: " + ] + } + ], "source": [ "for i in ['a','b','c']:\n", - " print i**2" + " try:\n", + " print(i**2)\n", + " except:\n", + " raise TypeError" ] }, { @@ -326,15 +541,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 137, "id": "441acd1c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "division by zero: All Done\n" + ] + } + ], "source": [ "x = 5\n", "y = 0\n", "\n", - "z = x/y" + "try:\n", + " z = x/y\n", + " print (z)\n", + "except ZeroDivisionError as unalias:\n", + " print(f\"{unalias}: All Done\")\n", + " " ] }, { @@ -357,7 +585,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 112, "id": "783a8224", "metadata": {}, "outputs": [], @@ -368,11 +596,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 139, "id": "cfcf15f0", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "good try but you have a list index out of range problem\n" + ] + } + ], + "source": [ + "try:\n", + " print(abc[3])\n", + "except IndexError as alias:\n", + " print(f\"good try but you have a {alias} problem\")\n" + ] }, { "cell_type": "markdown", @@ -388,11 +629,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 141, "id": "3c1f141b", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n", + "1\n", + "\n" + ] + } + ], + "source": [ + "x = input()\n", + "y = input()\n", + "try:\n", + " print(x/y)\n", + "except TypeError:\n", + " if type(x) == str or type(y) == str:\n", + " print(f\"{TypeError}\")\n", + "except ZeroDivisionError as alias1:\n", + " if float(y) == 0:\n", + " raise ValueError" + ] }, { "cell_type": "markdown", @@ -406,7 +668,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 142, "id": "b73f824c", "metadata": {}, "outputs": [ @@ -417,7 +679,8 @@ "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'testfile'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'r'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwrite\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Test write this'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "Cell \u001b[0;32mIn[142], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m f \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mopen\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mtestfile\u001b[39m\u001b[38;5;124m'\u001b[39m,\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mr\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 2\u001b[0m f\u001b[38;5;241m.\u001b[39mwrite(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mTest write this\u001b[39m\u001b[38;5;124m'\u001b[39m)\n", + "File \u001b[0;32m~/miniconda3/envs/ironhack/lib/python3.11/site-packages/IPython/core/interactiveshell.py:286\u001b[0m, in \u001b[0;36m_modified_open\u001b[0;34m(file, *args, **kwargs)\u001b[0m\n\u001b[1;32m 279\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m file \u001b[38;5;129;01min\u001b[39;00m {\u001b[38;5;241m0\u001b[39m, \u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m2\u001b[39m}:\n\u001b[1;32m 280\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 281\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mIPython won\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mt let you open fd=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfile\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m by default \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 282\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mas it is likely to crash IPython. If you know what you are doing, \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 283\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124myou can use builtins\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m open.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 284\u001b[0m )\n\u001b[0;32m--> 286\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m io_open(file, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n", "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'testfile'" ] } @@ -447,25 +710,38 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 147, "id": "5f639ab1", "metadata": {}, "outputs": [ { "ename": "IndentationError", - "evalue": "unexpected indent (, line 2)", + "evalue": "expected an indented block after 'try' statement on line 1 (589342722.py, line 2)", "output_type": "error", "traceback": [ - "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m2\u001b[0m\n\u001b[0;31m line = f.readline()\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mIndentationError\u001b[0m\u001b[0;31m:\u001b[0m unexpected indent\n" + "\u001b[0;36m Cell \u001b[0;32mIn[147], line 2\u001b[0;36m\u001b[0m\n\u001b[0;31m fp = open('myfile.txt')\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mIndentationError\u001b[0m\u001b[0;31m:\u001b[0m expected an indented block after 'try' statement on line 1\n" ] } ], "source": [ + "try: \n", "fp = open('myfile.txt')\n", " line = f.readline()\n", - " i = int(s.strip())\n" + " i = int(s.strip())\n", + "except IndentationError:\n", + " print(\"please check indentation\")\n", + "except FileNotFoundError:\n", + " print(\"File not found\")" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "0966f656", + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "markdown", "id": "d695245b", @@ -481,28 +757,26 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 148, "id": "3f043ef6", "metadata": {}, "outputs": [ { - "ename": "NameError", - "evalue": "name 'sys' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32massert\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m'linux'\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplatform\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"Function can only run on Linux systems.\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Doing something.'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mlinux_interaction\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m\u001b[0m in \u001b[0;36mlinux_interaction\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mlinux_interaction\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0;32massert\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m'linux'\u001b[0m \u001b[0;32min\u001b[0m \u001b[0msys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplatform\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"Function can only run on Linux systems.\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Doing something.'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mlinux_interaction\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mNameError\u001b[0m: name 'sys' is not defined" + "name": "stdout", + "output_type": "stream", + "text": [ + "it seems you are running this function in a system which is not a linux\n" ] } ], "source": [ "def linux_interaction():\n", - " assert ('linux' in sys.platform), \"Function can only run on Linux systems.\"\n", - " print('Doing something.')\n", - "linux_interaction()" + " try:\n", + " assert ('linux' in sys.platform), \"Function can only run on Linux systems.\"\n", + " print('Doing something.')\n", + " except AssertionError:\n", + " print(\"it seems you are running this function in a system which is not a linux\")\n", + "linux_interaction() \n" ] }, { @@ -636,7 +910,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.13" + "version": "3.11.5" }, "toc": { "base_numbering": 1,