From 4786fefa20522ab3a3b5f294e22e7957ef71736a Mon Sep 17 00:00:00 2001
From: Hlmdul <hilmia23@gmail.com>
Date: Sun, 26 Nov 2023 12:17:13 +0700
Subject: [PATCH 1/7] finished notebook 1

---
 .../exercises/01_strings_exercise.ipynb       | 57 +++++++++++++------
 1 file changed, 40 insertions(+), 17 deletions(-)

diff --git a/notebooks/beginner/exercises/01_strings_exercise.ipynb b/notebooks/beginner/exercises/01_strings_exercise.ipynb
index cf94527..eb55fa6 100644
--- a/notebooks/beginner/exercises/01_strings_exercise.ipynb
+++ b/notebooks/beginner/exercises/01_strings_exercise.ipynb
@@ -10,14 +10,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 6,
    "metadata": {},
    "outputs": [],
    "source": [
     "original = \" Python strings are COOL! \"\n",
-    "lower_cased = original._____\n",
-    "stripped = ____.strip()\n",
-    "stripped_lower_cased = original._____._____"
+    "lower_cased = original.lower()\n",
+    "stripped = original.strip()\n",
+    "stripped_lower_cased = original.strip().lower()"
    ]
   },
   {
@@ -29,7 +29,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 7,
    "metadata": {
     "editable": false
    },
@@ -50,7 +50,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 8,
    "metadata": {
     "editable": false
    },
@@ -61,12 +61,12 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [],
    "source": [
     "# Your implementation:\n",
-    "pretty = \"TODO\""
+    "pretty = ugly.strip().title()"
    ]
   },
   {
@@ -78,11 +78,19 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 12,
    "metadata": {
     "editable": false
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "pretty: Title Of My New Book\n"
+     ]
+    }
+   ],
    "source": [
     "print(f\"pretty: {pretty}\")\n",
     "assert pretty == \"Title Of My New Book\""
@@ -98,7 +106,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 15,
    "metadata": {
     "editable": false
    },
@@ -111,30 +119,45 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 16,
    "metadata": {},
    "outputs": [],
    "source": [
     "# Your implementation:\n",
-    "sentence = \"TODO\""
+    "sentence = \"Learning \"+language+\" \"+verb+' '+'fun'+punctuation"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 17,
    "metadata": {
     "editable": false
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "sentence: Learning Python is fun!\n"
+     ]
+    }
+   ],
    "source": [
     "print(f\"sentence: {sentence}\")\n",
     "assert sentence == \"Learning Python is fun!\""
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -148,7 +171,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.5.4"
+   "version": "3.11.4"
   }
  },
  "nbformat": 4,

From bf3cea974c182c1a5006f39c980475966972e459 Mon Sep 17 00:00:00 2001
From: Hlmdul <hilmia23@gmail.com>
Date: Sun, 26 Nov 2023 12:29:19 +0700
Subject: [PATCH 2/7] Update 01_strings.ipynb

---
 notebooks/beginner/notebooks/01_strings.ipynb | 391 ++++++++++++++----
 1 file changed, 320 insertions(+), 71 deletions(-)

diff --git a/notebooks/beginner/notebooks/01_strings.ipynb b/notebooks/beginner/notebooks/01_strings.ipynb
index d2841f8..67fadd2 100644
--- a/notebooks/beginner/notebooks/01_strings.ipynb
+++ b/notebooks/beginner/notebooks/01_strings.ipynb
@@ -9,7 +9,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 1,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -18,27 +18,60 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "'Python is my favorite programming language!'"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "my_string"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "str"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "type(my_string)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 4,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "43"
+      ]
+     },
+     "execution_count": 4,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "len(my_string)"
    ]
@@ -52,9 +85,20 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "'Lorem ipsum dolor sit amet, consectetur adipiscing elit.Pellentesque eget tincidunt felis. Ut ac vestibulum est.In sed ipsum sit amet sapien scelerisque bibendum. Sed sagittis purus eu diam fermentum pellentesque.'"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "long_story = (\n",
     "    \"Lorem ipsum dolor sit amet, consectetur adipiscing elit.\"\n",
@@ -81,9 +125,28 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 6,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Help on method_descriptor:\n",
+      "\n",
+      "replace(self, old, new, count=-1, /)\n",
+      "    Return a copy with all occurrences of substring old replaced by new.\n",
+      "    \n",
+      "      count\n",
+      "        Maximum number of occurrences to replace.\n",
+      "        -1 (the default value) means replace all occurrences.\n",
+      "    \n",
+      "    If the optional argument count is given, only the first count occurrences are\n",
+      "    replaced.\n",
+      "\n"
+     ]
+    }
+   ],
    "source": [
     "help(str.replace)"
    ]
@@ -97,9 +160,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 7,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Python is my favorite programming language!\n"
+     ]
+    }
+   ],
    "source": [
     "my_string.replace(\"a\", \"?\")\n",
     "print(my_string)"
@@ -114,9 +185,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 8,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Python will be my favorite programming language!\n"
+     ]
+    }
+   ],
    "source": [
     "my_modified_string = my_string.replace(\"is\", \"will be\")\n",
     "print(my_modified_string)"
@@ -131,9 +210,18 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "My name is John Doe, you can call me John.\n",
+      "I'm 88 years old.\n"
+     ]
+    }
+   ],
    "source": [
     "first_name = \"John\"\n",
     "last_name = \"Doe\"\n",
@@ -144,11 +232,19 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 11,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Use '=' to also print the variable name like this: age = 88\n"
+     ]
+    }
+   ],
    "source": [
-    "print(f\"Use '=' to also print the variable name like this: {age=}\")"
+    "print(f\"Use '=' to also print the variable name like this: {age = }\")"
    ]
   },
   {
@@ -160,21 +256,55 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 14,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Help on method_descriptor:\n",
+      "\n",
+      "join(self, iterable, /)\n",
+      "    Concatenate any number of strings.\n",
+      "    \n",
+      "    The string whose method is called is inserted in between each given string.\n",
+      "    The result is returned as a new string.\n",
+      "    \n",
+      "    Example: '.'.join(['ab', 'pq', 'rs']) -> 'ab.pq.rs'\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "help(str.join)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 20,
    "metadata": {},
    "outputs": [],
    "source": [
     "pandas = \"pandas\"\n",
     "numpy = \"numpy\"\n",
     "requests = \"requests\"\n",
-    "cool_python_libs = \", \".join([pandas, numpy, requests])"
+    "cool_python_libs = \", \".join((pandas, numpy, requests))"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 21,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Some cool python libraries: pandas, numpy, requests\n"
+     ]
+    }
+   ],
    "source": [
     "print(f\"Some cool python libraries: {cool_python_libs}\")"
    ]
@@ -188,9 +318,18 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 22,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Some cool python libraries: pandas, numpy, requests\n",
+      "Some cool python libraries: pandas, numpy, requests\n"
+     ]
+    }
+   ],
    "source": [
     "cool_python_libs = pandas + \", \" + numpy + \", \" + requests\n",
     "print(f\"Some cool python libraries: {cool_python_libs}\")\n",
@@ -210,7 +349,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 23,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -219,27 +358,60 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 24,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "'PYTHON HACKER'"
+      ]
+     },
+     "execution_count": 24,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "mixed_case.upper()"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 25,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "'python hacker'"
+      ]
+     },
+     "execution_count": 25,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "mixed_case.lower()"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 26,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "'Python Hacker'"
+      ]
+     },
+     "execution_count": 26,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "mixed_case.title()"
    ]
@@ -253,9 +425,19 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 27,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "ugly:  \n",
+      " \t Some story to tell \n",
+      "stripped: Some story to tell\n"
+     ]
+    }
+   ],
    "source": [
     "ugly_formatted = \" \\n \\t Some story to tell \"\n",
     "stripped = ugly_formatted.strip()\n",
@@ -273,9 +455,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 28,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "['three', 'different', 'words']\n"
+     ]
+    }
+   ],
    "source": [
     "sentence = \"three different words\"\n",
     "words = sentence.split()\n",
@@ -284,18 +474,37 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 29,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "list"
+      ]
+     },
+     "execution_count": 29,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "type(words)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 30,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "['01001', '101101', '11100000']\n"
+     ]
+    }
+   ],
    "source": [
     "secret_binary_data = \"01001,101101,11100000\"\n",
     "binaries = secret_binary_data.split(\",\")\n",
@@ -311,9 +520,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 31,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "this looks good\n"
+     ]
+    }
+   ],
    "source": [
     "ugly_mixed_case = \"   ThIS LooKs BAd \"\n",
     "pretty = ugly_mixed_case.strip().lower().replace(\"bad\", \"good\")\n",
@@ -329,9 +546,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 32,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "this looks bad\n"
+     ]
+    }
+   ],
    "source": [
     "pretty = ugly_mixed_case.replace(\"bad\", \"good\").strip().lower()\n",
     "print(pretty)"
@@ -346,9 +571,18 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 33,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "First line\n",
+      "Second line\n"
+     ]
+    }
+   ],
    "source": [
     "two_lines = \"First line\\nSecond line\"\n",
     "print(two_lines)"
@@ -356,13 +590,28 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
+   "execution_count": 34,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "\tThis will be indented\n"
+     ]
+    }
+   ],
    "source": [
     "indented = \"\\tThis will be indented\"\n",
     "print(indented)"
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {
@@ -381,7 +630,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.11.0"
+   "version": "3.11.4"
   }
  },
  "nbformat": 4,

From 9ad0ce3173a8ed460f72bd46614e4b1ce1c831eb Mon Sep 17 00:00:00 2001
From: Hlmdul <hilmia23@gmail.com>
Date: Sun, 26 Nov 2023 13:32:37 +0700
Subject: [PATCH 3/7] Update 02_numbers.ipynb

---
 notebooks/beginner/notebooks/02_numbers.ipynb | 156 +++++++++++++++---
 1 file changed, 131 insertions(+), 25 deletions(-)

diff --git a/notebooks/beginner/notebooks/02_numbers.ipynb b/notebooks/beginner/notebooks/02_numbers.ipynb
index 4fd6678..2b98075 100644
--- a/notebooks/beginner/notebooks/02_numbers.ipynb
+++ b/notebooks/beginner/notebooks/02_numbers.ipynb
@@ -16,9 +16,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 1,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "value: 6, type: <class 'int'>\n"
+     ]
+    }
+   ],
    "source": [
     "my_int = 6\n",
     "print(f\"value: {my_int}, type: {type(my_int)}\")"
@@ -33,9 +41,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 2,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "value: 6.0, type: <class 'float'>\n"
+     ]
+    }
+   ],
    "source": [
     "my_float = float(my_int)\n",
     "print(f\"value: {my_float}, type: {type(my_float)}\")"
@@ -50,12 +66,23 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 4,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1.0\n",
+      "1.2\n",
+      "2\n"
+     ]
+    }
+   ],
    "source": [
     "print(1 / 1)\n",
-    "print(6 / 5)"
+    "print(6 / 5)\n",
+    "print(4 // 2)"
    ]
   },
   {
@@ -67,9 +94,18 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 5,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "False\n",
+      "0.30000000000000004\n"
+     ]
+    }
+   ],
    "source": [
     "val = 0.1 + 0.1 + 0.1\n",
     "print(val == 0.3)\n",
@@ -85,27 +121,60 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 6,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "1"
+      ]
+     },
+     "execution_count": 6,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "7 // 5"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 7,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "2"
+      ]
+     },
+     "execution_count": 7,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "7 % 5"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 8,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "8"
+      ]
+     },
+     "execution_count": 8,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "2**3"
    ]
@@ -120,7 +189,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 9,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -129,9 +198,18 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 10,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "from float: 0.1000000000000000055511151231257827021181583404541015625\n",
+      "from string: 0.1\n"
+     ]
+    }
+   ],
    "source": [
     "from_float = Decimal(0.1)\n",
     "from_str = Decimal(\"0.1\")\n",
@@ -140,13 +218,25 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 18,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "True\n",
+      "0.1\n",
+      "0.3\n"
+     ]
+    }
+   ],
    "source": [
-    "my_decimal = Decimal(\"0.1\")\n",
+    "my_decimal = Decimal('0.1')\n",
     "sum_of_decimals = my_decimal + my_decimal + my_decimal\n",
-    "print(sum_of_decimals == Decimal(\"0.3\"))"
+    "print(sum_of_decimals == Decimal(\"0.3\"))\n",
+    "print(my_decimal)\n",
+    "print(sum_of_decimals)"
    ]
   },
   {
@@ -159,13 +249,29 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 19,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "3.0\n",
+      "2.5\n"
+     ]
+    }
+   ],
    "source": [
     "print(1 + 2**2 * 3 / 6)  # 1 + 4 * 3 / 6 == 1 + 12 / 6 == 1 + 2\n",
     "print((1 + 2**2) * 3 / 6)"
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {
@@ -184,7 +290,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.11.0"
+   "version": "3.11.4"
   }
  },
  "nbformat": 4,

From d7c015512390e4fa223bdb18cd4ee4ff6553f728 Mon Sep 17 00:00:00 2001
From: Hlmdul <hilmia23@gmail.com>
Date: Sun, 26 Nov 2023 13:43:07 +0700
Subject: [PATCH 4/7] Update 02_numbers_exercise.ipynb

---
 .../exercises/02_numbers_exercise.ipynb       | 40 +++++++++++++++----
 1 file changed, 32 insertions(+), 8 deletions(-)

diff --git a/notebooks/beginner/exercises/02_numbers_exercise.ipynb b/notebooks/beginner/exercises/02_numbers_exercise.ipynb
index 262a438..ec293bf 100644
--- a/notebooks/beginner/exercises/02_numbers_exercise.ipynb
+++ b/notebooks/beginner/exercises/02_numbers_exercise.ipynb
@@ -14,7 +14,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 2,
    "metadata": {
     "editable": false
    },
@@ -27,17 +27,29 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 5,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "50.0"
+      ]
+     },
+     "execution_count": 5,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "# Your formula here:\n",
-    "result = "
+    "result = (6*(a**3)) - ((8*(b**2))/(4*c)) + 11\n",
+    "result"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 4,
    "metadata": {
     "editable": false
    },
@@ -56,20 +68,32 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 10,
    "metadata": {},
    "outputs": [],
    "source": [
     "# Your solution here\n",
+    "from decimal import Decimal\n",
+    "a = Decimal('0.1')\n",
+    "b = Decimal('0.2')\n",
+    "\n",
+    "assert a + b == Decimal('0.3')\n",
     "\n",
     "# This won't work:\n",
     "# assert 0.1 + 0.2 == 0.3"
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -83,7 +107,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.5.4"
+   "version": "3.11.4"
   }
  },
  "nbformat": 4,

From 20d0311abaf080aba4da9fd842e6e27fc49cdef2 Mon Sep 17 00:00:00 2001
From: Hlmdul <hilmia23@gmail.com>
Date: Sun, 26 Nov 2023 17:25:58 +0700
Subject: [PATCH 5/7] notebook and exercise 3 completed

---
 .../exercises/03_conditionals_exercise.ipynb  |  35 +++-
 .../beginner/notebooks/03_conditionals.ipynb  | 179 +++++++++++++++---
 2 files changed, 173 insertions(+), 41 deletions(-)

diff --git a/notebooks/beginner/exercises/03_conditionals_exercise.ipynb b/notebooks/beginner/exercises/03_conditionals_exercise.ipynb
index 9052e70..2f56fa8 100644
--- a/notebooks/beginner/exercises/03_conditionals_exercise.ipynb
+++ b/notebooks/beginner/exercises/03_conditionals_exercise.ipynb
@@ -10,7 +10,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 2,
    "metadata": {
     "editable": false
    },
@@ -21,20 +21,28 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 3,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Name \"John Doe\" is 8, 9 or 10 chars long\n"
+     ]
+    }
+   ],
    "source": [
-    "if ____:\n",
+    "if len(name) > 20:\n",
     "    print(f'Name \"{name}\" is more than 20 chars long')\n",
     "    length_description = \"long\"\n",
-    "elif ____:\n",
+    "elif len(name) > 15:\n",
     "    print(f'Name \"{name}\" is more than 15 chars long')\n",
     "    length_description = \"semi long\"\n",
-    "elif ____:\n",
+    "elif len(name) > 10:\n",
     "    print(f'Name \"{name}\" is more than 10 chars long')\n",
     "    length_description = \"semi long\"\n",
-    "elif ____:\n",
+    "elif 10 >= len(name) >= 8:\n",
     "    print(f'Name \"{name}\" is 8, 9 or 10 chars long')\n",
     "    length_description = \"semi short\"\n",
     "else:\n",
@@ -44,7 +52,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 6,
    "metadata": {
     "editable": false
    },
@@ -52,11 +60,18 @@
    "source": [
     "assert length_description == \"semi short\""
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -70,7 +85,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.5.4"
+   "version": "3.11.4"
   }
  },
  "nbformat": 4,
diff --git a/notebooks/beginner/notebooks/03_conditionals.ipynb b/notebooks/beginner/notebooks/03_conditionals.ipynb
index 4958b96..50f5ba8 100644
--- a/notebooks/beginner/notebooks/03_conditionals.ipynb
+++ b/notebooks/beginner/notebooks/03_conditionals.ipynb
@@ -23,18 +23,36 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 1,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "type of True and False: <class 'bool'>\n"
+     ]
+    }
+   ],
    "source": [
     "print(f\"type of True and False: {type(True)}\")"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 2,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "0: False, 1: True\n",
+      "empty list: False, list with values: True\n",
+      "empty dict: False, dict with values: True\n"
+     ]
+    }
+   ],
    "source": [
     "print(f\"0: {bool(0)}, 1: {bool(1)}\")\n",
     "print(f\"empty list: {bool([])}, list with values: {bool(['woop'])}\")\n",
@@ -50,9 +68,26 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 3,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "False\n",
+      "True\n",
+      "True\n",
+      "False\n",
+      "False\n",
+      "False\n",
+      "True\n",
+      "True\n",
+      "False\n",
+      "True\n"
+     ]
+    }
+   ],
    "source": [
     "print(f\"{1 == 0}\")\n",
     "print(f\"{1 != 0}\")\n",
@@ -75,9 +110,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 4,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "True\n"
+     ]
+    }
+   ],
    "source": [
     "print(f\"{1 <= 2 <= 3}\")"
    ]
@@ -91,7 +134,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 5,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -103,9 +146,18 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 6,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Python and java are both cool: False\n",
+      "secret_value and python_is_cool: True\n"
+     ]
+    }
+   ],
    "source": [
     "print(f\"Python and java are both cool: {python_is_cool and java_is_cool}\")\n",
     "print(f\"secret_value and python_is_cool: {secret_value and python_is_cool}\")"
@@ -123,9 +175,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 7,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Java is not cool: True\n"
+     ]
+    }
+   ],
    "source": [
     "print(f\"Java is not cool: {not java_is_cool}\")"
    ]
@@ -139,9 +199,18 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 8,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "True\n",
+      "False\n"
+     ]
+    }
+   ],
    "source": [
     "print(bool(not java_is_cool or secret_value and python_is_cool or empty_list))\n",
     "print(bool(not (java_is_cool or secret_value and python_is_cool or empty_list)))"
@@ -156,11 +225,19 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 10,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "statement is not True\n"
+     ]
+    }
+   ],
    "source": [
-    "statement = True\n",
+    "statement = False\n",
     "if statement:\n",
     "    print(\"statement is True\")\n",
     "\n",
@@ -170,11 +247,19 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 12,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "empty list will not evaluate to True\n"
+     ]
+    }
+   ],
    "source": [
-    "empty_list = []\n",
+    "empty_list = [1]\n",
     "# With if and elif, conversion to `bool` is implicit\n",
     "if empty_list:\n",
     "    print(\"empty list will not evaluate to True\")  # this won't be executed"
@@ -182,9 +267,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 13,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Value is positive and less than one or value is three\n"
+     ]
+    }
+   ],
    "source": [
     "val = 3\n",
     "if 0 <= val < 1 or val == 3:\n",
@@ -200,11 +293,19 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 16,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "there is something in my dict\n"
+     ]
+    }
+   ],
    "source": [
-    "my_dict = {}\n",
+    "my_dict = {\"a\":1}\n",
     "if my_dict:\n",
     "    print(\"there is something in my dict\")\n",
     "else:\n",
@@ -220,9 +321,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 17,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "value is greater than 10 but less than 100\n"
+     ]
+    }
+   ],
    "source": [
     "val = 88\n",
     "if val >= 100:\n",
@@ -242,9 +351,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 18,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Hello fellow Pythonista!\n"
+     ]
+    }
+   ],
    "source": [
     "greeting = \"Hello fellow Pythonista!\"\n",
     "language = \"Italian\"\n",
@@ -285,7 +402,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.11.0"
+   "version": "3.11.4"
   }
  },
  "nbformat": 4,

From 667335d89aede57c6136b36679432bec4a4ed318 Mon Sep 17 00:00:00 2001
From: Hlmdul <hilmia23@gmail.com>
Date: Sun, 26 Nov 2023 19:19:40 +0700
Subject: [PATCH 6/7] notebook and exercise 4 completed

---
 .../exercises/04_lists_exercise.ipynb         |  83 +++++--
 notebooks/beginner/notebooks/04_lists.ipynb   | 207 +++++++++++++++---
 2 files changed, 236 insertions(+), 54 deletions(-)

diff --git a/notebooks/beginner/exercises/04_lists_exercise.ipynb b/notebooks/beginner/exercises/04_lists_exercise.ipynb
index ea284b6..8e7c4ef 100644
--- a/notebooks/beginner/exercises/04_lists_exercise.ipynb
+++ b/notebooks/beginner/exercises/04_lists_exercise.ipynb
@@ -10,28 +10,41 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 3,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "['Python', 'is neat']"
+      ]
+     },
+     "execution_count": 3,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
    "source": [
     "# Let's create an empty list\n",
-    "my_list = ____\n",
+    "my_list = []\n",
     "\n",
     "# Let's add some values\n",
-    "my_list.____(\"Python\")\n",
-    "my_list.____(\"is ok\")\n",
-    "my_list.____(\"sometimes\")\n",
+    "my_list.append(\"Python\")\n",
+    "my_list.append(\"is ok\")\n",
+    "my_list.append(\"sometimes\")\n",
     "\n",
     "# Let's remove 'sometimes'\n",
-    "my_list.____(\"sometimes\")\n",
+    "my_list.remove(\"sometimes\")\n",
     "\n",
     "# Let's change the second item\n",
-    "my_list[____] = \"is neat\""
+    "my_list[1] = \"is neat\"\n",
+    "\n",
+    "my_list"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 2,
    "metadata": {
     "editable": false
    },
@@ -50,7 +63,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 2,
    "metadata": {
     "editable": false
    },
@@ -61,17 +74,29 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 9,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "['I', 'am', 'learning', 'hacking', 'in']\n",
+      "['I', 'am', 'learning', 'lists', 'in', 'Python']\n"
+     ]
+    }
+   ],
    "source": [
     "# Your implementation here\n",
-    "modified = "
+    "modified = original + [\"Python\"]\n",
+    "modified[3] = \"lists\"\n",
+    "print(original)\n",
+    "print(modified)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 10,
    "metadata": {
     "editable": false
    },
@@ -90,7 +115,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 11,
    "metadata": {
     "editable": false
    },
@@ -103,30 +128,46 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 13,
    "metadata": {},
    "outputs": [],
    "source": [
     "# Your implementation here\n",
-    "my_list = "
+    "my_list = list1 + list2 + list3\n",
+    "my_list.sort(reverse=True)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 14,
    "metadata": {
     "editable": false
    },
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[14, 12, 6.2, 6, 5, 1, 0.9, 0]\n"
+     ]
+    }
+   ],
    "source": [
     "print(my_list)\n",
     "assert my_list == [14, 12, 6.2, 6, 5, 1, 0.9, 0]"
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {
   "kernelspec": {
-   "display_name": "Python 3",
+   "display_name": "Python 3 (ipykernel)",
    "language": "python",
    "name": "python3"
   },
@@ -140,7 +181,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.5.4"
+   "version": "3.11.4"
   }
  },
  "nbformat": 4,
diff --git a/notebooks/beginner/notebooks/04_lists.ipynb b/notebooks/beginner/notebooks/04_lists.ipynb
index 6949ef2..9cdfdf7 100644
--- a/notebooks/beginner/notebooks/04_lists.ipynb
+++ b/notebooks/beginner/notebooks/04_lists.ipynb
@@ -9,9 +9,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 1,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "empty list: [], type: <class 'list'>\n"
+     ]
+    }
+   ],
    "source": [
     "my_empty_list = []\n",
     "print(f\"empty list: {my_empty_list}, type: {type(my_empty_list)}\")"
@@ -19,9 +27,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 2,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "lengths: 4 and 6\n"
+     ]
+    }
+   ],
    "source": [
     "list_of_ints = [1, 2, 6, 7]\n",
     "list_of_misc = [0.2, 5, \"Python\", \"is\", \"still fun\", \"!\"]\n",
@@ -37,9 +53,18 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 3,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Python\n",
+      "cool\n"
+     ]
+    }
+   ],
    "source": [
     "my_list = [\"Python\", \"is\", \"still\", \"cool\"]\n",
     "print(my_list[0])\n",
@@ -48,9 +73,18 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 4,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "first coordinate: [12.0, 13.3]\n",
+      "second element of first coordinate: 13.3\n"
+     ]
+    }
+   ],
    "source": [
     "coordinates = [[12.0, 13.3], [0.6, 18.0], [88.0, 1.1]]  # two dimensional\n",
     "print(f\"first coordinate: {coordinates[0]}\")\n",
@@ -66,9 +100,18 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 5,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[99, 1, 2, 3, 4, 5]\n",
+      "[1, 2, 3, 4, 5]\n"
+     ]
+    }
+   ],
    "source": [
     "my_list = [0, 1, 2, 3, 4, 5]\n",
     "my_list[0] = 99\n",
@@ -88,9 +131,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 6,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Python is there!\n"
+     ]
+    }
+   ],
    "source": [
     "languages = [\"Java\", \"C++\", \"Go\", \"Python\", \"JavaScript\"]\n",
     "if \"Python\" in languages:\n",
@@ -99,9 +150,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 7,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "number 6 is not present\n"
+     ]
+    }
+   ],
    "source": [
     "if 6 not in [1, 2, 3, 7]:\n",
     "    print(\"number 6 is not present\")"
@@ -116,9 +175,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 8,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "original: [99, 2, 3], modified: [99, 2, 3]\n"
+     ]
+    }
+   ],
    "source": [
     "original = [1, 2, 3]\n",
     "modified = original\n",
@@ -135,9 +202,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 9,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "original: [1, 2, 3], modified: [99, 2, 3]\n"
+     ]
+    }
+   ],
    "source": [
     "original = [1, 2, 3]\n",
     "modified = list(original)  # Note list()\n",
@@ -156,9 +231,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 10,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[1, 'ham']\n"
+     ]
+    }
+   ],
    "source": [
     "my_list = [1]\n",
     "my_list.append(\"ham\")\n",
@@ -174,9 +257,18 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 11,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "['Python', 'is', 'fun']\n",
+      "Java is not part of this story.\n"
+     ]
+    }
+   ],
    "source": [
     "my_list = [\"Python\", \"is\", \"sometimes\", \"fun\"]\n",
     "my_list.remove(\"sometimes\")\n",
@@ -198,9 +290,19 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 17,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "numbers: [1, 5, 6, 8, 10]\n",
+      "numbers reversed: [10, 8, 6, 5, 1]\n",
+      "words: ['a', 'is', 'list', 'of', 'this', 'words']\n"
+     ]
+    }
+   ],
    "source": [
     "numbers = [8, 1, 6, 5, 10]\n",
     "numbers.sort()\n",
@@ -224,9 +326,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 18,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "numbers=[8, 1, 6, 5, 10], sorted_numbers=[1, 5, 6, 8, 10]\n"
+     ]
+    }
+   ],
    "source": [
     "numbers = [8, 1, 6, 5, 10]\n",
     "sorted_numbers = sorted(numbers)\n",
@@ -242,9 +352,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 19,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "first_list=['beef', 'ham', 'potatoes', 1, 3], second_list=['potatoes', 1, 3]\n"
+     ]
+    }
+   ],
    "source": [
     "first_list = [\"beef\", \"ham\"]\n",
     "second_list = [\"potatoes\", 1, 3]\n",
@@ -261,9 +379,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 24,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "first=[1, 2, 3, 4, 5]\n"
+     ]
+    }
+   ],
    "source": [
     "first = [1, 2, 3]\n",
     "second = [4, 5]\n",
@@ -280,14 +406,29 @@
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 25,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "['ham', 'b', 'a']\n"
+     ]
+    }
+   ],
    "source": [
     "my_list = [\"a\", \"b\", \"ham\"]\n",
     "my_list.reverse()\n",
     "print(my_list)"
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {
@@ -306,7 +447,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.11.0"
+   "version": "3.11.4"
   }
  },
  "nbformat": 4,

From 43178ea2ce2a15133341e7974df285316e0d78b2 Mon Sep 17 00:00:00 2001
From: Hilmi abdullah <140486406+Hlmdul@users.noreply.github.com>
Date: Mon, 27 Nov 2023 21:50:27 +0700
Subject: [PATCH 7/7] Created using Colaboratory

---
 002_data_types.ipynb | 1517 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 1517 insertions(+)
 create mode 100644 002_data_types.ipynb

diff --git a/002_data_types.ipynb b/002_data_types.ipynb
new file mode 100644
index 0000000..57ccd1f
--- /dev/null
+++ b/002_data_types.ipynb
@@ -0,0 +1,1517 @@
+{
+  "cells": [
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "view-in-github",
+        "colab_type": "text"
+      },
+      "source": [
+        "<a href=\"https://colab.research.google.com/github/Hlmdul/learn-python3/blob/master/002_data_types.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "5YZJxv4fxEDX"
+      },
+      "source": [
+        "# Data Types and comments"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "pUlf3GY6xEDu"
+      },
+      "source": [
+        "We've already learned this before:\n",
+        "\n",
+        "- `\"I'm so excited to meet you guys there!\"` is a data with a data type of string\n",
+        "\n",
+        "There are several data types in Python, we'll explore three of them for now: `string`, `float` and `int`."
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "LUA1cseYxEDw"
+      },
+      "source": [
+        "# Google Colab, Jupyter Notebook, and Visual Studio Code will \"print\" the last line of code automatically\n",
+        "\n",
+        "Before we continue, please check below code"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 1,
+      "metadata": {
+        "id": "QcAgXYzjxEDx",
+        "outputId": "eddb6d2c-153c-4184-e59f-8c81a4d797a1",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'Hello!'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 1
+        }
+      ],
+      "source": [
+        "\"Hi everyone\"\n",
+        "\"Hello!\""
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "6BjHGd6NxED5"
+      },
+      "source": [
+        "As you can see above, our result to above two lines of code will only show the result of the last line of code. This concept is called printing, we can print any code in any line by using `print()` like below:"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 2,
+      "metadata": {
+        "id": "ZxV25pW0xEEA",
+        "outputId": "cc9e8a74-a5e3-4a1d-843b-34b4d82ac079",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 53
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "Hello!\n"
+          ]
+        },
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'Hi!'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 2
+        }
+      ],
+      "source": [
+        "\"Yes!\"\n",
+        "print(\"Hello!\")\n",
+        "\"Hi!\""
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "01v9jFsdxEEB"
+      },
+      "source": [
+        "As you can see above we have 3 lines of code, but we only print the second and third line of code. The second line of code is printed because we use `print()`, while the third line of code is printed because it is the last line of code."
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "-rz_G42pVWdn"
+      },
+      "source": [
+        "# Challenge!\n",
+        "\n",
+        "## Challenge 1\n",
+        "\n",
+        "Make sure both of the string below are printed"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 3,
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 53
+        },
+        "id": "TVttzyAHVWdn",
+        "outputId": "d42a4bb0-d0bf-4942-e593-d6deb0404caf"
+      },
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "Halo dunia\n"
+          ]
+        },
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'Hi world'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 3
+        }
+      ],
+      "source": [
+        "print(\"Halo dunia\")\n",
+        "\"Hi world\""
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "ijiXFQUDVWdn"
+      },
+      "source": [
+        "When you are done with the above challenge, then:\n",
+        "1. Input your student_id and name in the box below\n",
+        "2. Change the text \"my result\" below with the text \"done\"\n",
+        "3. Run the code block by pressing the play button."
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 40,
+      "metadata": {
+        "id": "z5svkiRwVWdo",
+        "outputId": "5835e84a-34cd-4d74-d493-f765ebd03386",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 244
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "Requirement already satisfied: rggrader in /usr/local/lib/python3.10/dist-packages (0.1.6)\n",
+            "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from rggrader) (2.31.0)\n",
+            "Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from rggrader) (1.5.3)\n",
+            "Requirement already satisfied: Pillow in /usr/local/lib/python3.10/dist-packages (from rggrader) (9.4.0)\n",
+            "Requirement already satisfied: python-dateutil>=2.8.1 in /usr/local/lib/python3.10/dist-packages (from pandas->rggrader) (2.8.2)\n",
+            "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->rggrader) (2023.3.post1)\n",
+            "Requirement already satisfied: numpy>=1.21.0 in /usr/local/lib/python3.10/dist-packages (from pandas->rggrader) (1.23.5)\n",
+            "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->rggrader) (3.3.2)\n",
+            "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->rggrader) (3.4)\n",
+            "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->rggrader) (2.0.7)\n",
+            "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->rggrader) (2023.7.22)\n",
+            "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.1->pandas->rggrader) (1.16.0)\n"
+          ]
+        },
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'Assignment successfully submitted'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 40
+        }
+      ],
+      "source": [
+        "!pip install rggrader\n",
+        "\n",
+        "from rggrader import submit\n",
+        "\n",
+        "# @title #### Student Identity\n",
+        "student_id = \"REAPJAX7\" # @param {type:\"string\"}\n",
+        "name = \"Hilmi Abdullah\" # @param {type:\"string\"}\n",
+        "\n",
+        "result = \"done\"\n",
+        "\n",
+        "# Submit Method\n",
+        "assignment_id = \"002_data_types\"\n",
+        "question_id = \"01_using_print\"\n",
+        "submit(student_id, name, assignment_id, result, question_id)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "aP64qYkVxEEC"
+      },
+      "source": [
+        "# String\n",
+        "\n",
+        "A string is a data type that is used to represent text. It is enclosed by either single or double quotes.\n",
+        "\n",
+        "```python\n",
+        "'Thank you for coming to my TED talk'\n",
+        "\n",
+        "\"I'm so excited to meet you guys there!\"\n",
+        "```\n",
+        "\n",
+        "A string can be manipulated like what we've already seen in previous learning\n",
+        "\n",
+        "```python\n",
+        "\"I'm so {emotion} to meet you guys there!\".replace(\"{emotion}\", \"excited\")\n",
+        "```\n",
+        "\n",
+        "We see above our more complex string from previous learning: `\"I'm so excited to meet you guys there!\"`, then we replace the `{emotion}` with `\"excited\"`."
+      ]
+    },
+    {
+      "cell_type": "code",
+      "source": [
+        "\"aku suka kucing, khususnya kucing oren\".replace(\"kucing\", \"beruang\")"
+      ],
+      "metadata": {
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        },
+        "id": "0KiDo4154n3z",
+        "outputId": "2b4e3ddb-915d-4b6a-fd14-2cb5da8f64d4"
+      },
+      "execution_count": 5,
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'aku suka beruang, khususnya beruang oren'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 5
+        }
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "-Z2VvtdBxEEI"
+      },
+      "source": [
+        "# Arguments\n",
+        "\n",
+        "We'll learn more about method and a concept that's basically similar to method called function later, but for now, let's give a quick brief about methods and arguments.\n",
+        "\n",
+        "If we see the code below:\n",
+        "\n",
+        "```python\n",
+        "\"I'm so {emotion} to meet you guys there!\".replace(\"{emotion}\", \"excited\")\n",
+        "```\n",
+        "\n",
+        "What's called method is the `.replace()` part, while the `{emotion}` and `\"excited\"` are called arguments.\n",
+        "\n",
+        "The number of arguments itself can be varied between method, sometimes a method can have no argument, sometimes it can have one, two, or even more arguments."
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "dnwP-gA1xEEK"
+      },
+      "source": [
+        "# String methods"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "VmLy1A8NxEEK"
+      },
+      "source": [
+        "## `.lower()`\n",
+        "\n",
+        "This method will convert all characters in a string into lowercase"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 6,
+      "metadata": {
+        "id": "y3cfvwXCxEEM",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        },
+        "outputId": "310eb5f2-ea9f-4715-ced1-9e01f2c18580"
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "\"i'm not shouting\""
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 6
+        }
+      ],
+      "source": [
+        "\"I'M NOT SHOUTING\".lower()"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "3FeP60d1xEER"
+      },
+      "source": [
+        "## `.strip()`\n",
+        "\n",
+        "This method will remove all leading and trailing whitespaces from a string"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 7,
+      "metadata": {
+        "id": "qIjSknRUxEER",
+        "outputId": "46308861-78ed-4530-8dcb-3cd484e4bf3e",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'Hello dunia'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 7
+        }
+      ],
+      "source": [
+        "\"   Hello dunia      \".strip()"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "1Rjj2VFgxEES"
+      },
+      "source": [
+        "## `.replace()`\n",
+        "\n",
+        "This method will replace all occurrences of a string with another string"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 8,
+      "metadata": {
+        "id": "Gke9KB3GxEES",
+        "outputId": "bae0202b-b2f6-4984-e041-35214e3d46b2",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'Bob is a dog'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 8
+        }
+      ],
+      "source": [
+        "\"Bob is a cat\".replace(\"cat\", \"dog\")"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "kJjPQoqsxEEV"
+      },
+      "source": [
+        "If we add an empty string as the second argument, it will remove all occurrences of a string"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 9,
+      "metadata": {
+        "id": "xp-YUhpvxEEY",
+        "outputId": "0f1d674d-2239-4d97-f091-e07d9bef1122",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'   dog human horse'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 9
+        }
+      ],
+      "source": [
+        "\"cat cat cat dog human horse\".replace(\"cat\", \"\")"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "2LB05oQTxEEc"
+      },
+      "source": [
+        "We won't list down every methods here, you can check more on https://www.w3schools.com/python/python_ref_string.asp"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "dULvG5pf7yVF"
+      },
+      "source": [
+        "# Challenge!"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "mh7ZuzqTVWdp"
+      },
+      "source": [
+        "## Upper\n",
+        "\n",
+        "Using `.upper()` method, convert the string below into uppercase"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 10,
+      "metadata": {
+        "id": "-K30IhM7VWdp",
+        "outputId": "f69087d4-9eef-419f-b5ab-eb41fbca434a",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'HI MY NAME IS ANDI'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 10
+        }
+      ],
+      "source": [
+        "\"hi my name is andi\".upper()"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "bsE8kxLOVWdp"
+      },
+      "source": [
+        "When you are done with the above challenge, then:\n",
+        "\n",
+        "1. Change the text \"my result\" below with the text \"done\"\n",
+        "2. Run the code block by pressing the play button."
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 11,
+      "metadata": {
+        "id": "OzZ6cXEwVWdp",
+        "outputId": "f93911e0-2685-46d4-fe8e-d442218460f7",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'Assignment successfully submitted'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 11
+        }
+      ],
+      "source": [
+        "# Submit Method\n",
+        "assignment_id = \"002_data_types\"\n",
+        "question_id = \"02_upper\"\n",
+        "\n",
+        "result = \"done\"\n",
+        "\n",
+        "submit(student_id, name, assignment_id, result, question_id)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "retUmbgbVWdp"
+      },
+      "source": [
+        "## Replace\n",
+        "\n",
+        "Replace below name from \"Ridho\" to \"Fajar\"!"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 12,
+      "metadata": {
+        "id": "jPBePnV9VWdp",
+        "outputId": "1d586992-bd1c-4550-f2a8-f3c41a3b424b",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'Hi, my name is Fajar'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 12
+        }
+      ],
+      "source": [
+        "\"Hi, my name is Ridho\".replace(\"Ridho\", \"Fajar\")"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "VJ3wyLc3VWdp"
+      },
+      "source": [
+        "When you are done with the above challenge, then:\n",
+        "\n",
+        "1. Change the text \"my result\" below with the text \"done\"\n",
+        "2. Run the code block by pressing the play button."
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 13,
+      "metadata": {
+        "id": "tpEBsq3oVWdp",
+        "outputId": "df283e60-79b5-4e5d-9556-0fb92680b8d2",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'Assignment successfully submitted'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 13
+        }
+      ],
+      "source": [
+        "# Submit Method\n",
+        "assignment_id = \"002_data_types\"\n",
+        "question_id = \"03_replace\"\n",
+        "\n",
+        "result = \"done\"\n",
+        "\n",
+        "submit(student_id, name, assignment_id, result, question_id)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "1rbUnmFtVWdp"
+      },
+      "source": [
+        "## String\n",
+        "\n",
+        "Remove all leading and trailing whitespaces from below string"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 14,
+      "metadata": {
+        "id": "D6cnkRmyVWdp",
+        "outputId": "87edc538-a59c-40f1-c419-7d87d408bca8",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'HELLO'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 14
+        }
+      ],
+      "source": [
+        "\"   HELLO   \".strip()"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "tHwI-rXQVWdp"
+      },
+      "source": [
+        "When you are done with the above challenge, then:\n",
+        "\n",
+        "1. Change the text \"my result\" below with the text \"done\"\n",
+        "2. Run the code block by pressing the play button."
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 15,
+      "metadata": {
+        "id": "4G0GKU59VWdp",
+        "outputId": "a40c3e3c-28ab-4f27-e857-44ebcf850653",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'Assignment successfully submitted'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 15
+        }
+      ],
+      "source": [
+        "# Submit Method\n",
+        "assignment_id = \"002_data_types\"\n",
+        "question_id = \"04_string\"\n",
+        "\n",
+        "result = \"done\"\n",
+        "\n",
+        "submit(student_id, name, assignment_id, result, question_id)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "h2PJVEW_xEEd"
+      },
+      "source": [
+        "## Method chaining\n",
+        "\n",
+        "We can chain multiple methods together, for example:\n",
+        "\n",
+        "```python\n",
+        "\"I'm so excited to meet you guys there!\".lower().replace(\"excited\", \"happy\")\n",
+        "```\n",
+        "\n",
+        "Will result in:\n",
+        "\n",
+        "```python\n",
+        "\"i'm so happy to meet you guys there!\"\n",
+        "```"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "04C56jVdVWdq"
+      },
+      "source": [
+        "# Challenge\n",
+        "\n",
+        "## Challenge 1\n",
+        "\n",
+        "Replace all occurrences of \"cat\" to \"\" (empty string) and remove all leading whitespaces (the output should be: \"dog human horse\")"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 16,
+      "metadata": {
+        "id": "cRPIsOouVWdq",
+        "outputId": "dccf3085-c6e9-44b5-a963-342be253c44c",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'dog human horse'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 16
+        }
+      ],
+      "source": [
+        "\"cat cat cat dog human horse\".replace(\"cat\", \"\").strip()"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "JYpO9kGnVWdw"
+      },
+      "source": [
+        "When you are done with the above challenge, then:\n",
+        "\n",
+        "1. Change the text \"my result\" below with the text \"done\"\n",
+        "2. Run the code block by pressing the play button."
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 17,
+      "metadata": {
+        "id": "fxcWWWhOVWdw",
+        "outputId": "662b8de3-e079-4482-f513-abe65142b541",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'Assignment successfully submitted'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 17
+        }
+      ],
+      "source": [
+        "# Submit Method\n",
+        "assignment_id = \"002_data_types\"\n",
+        "question_id = \"05_method_chain_1\"\n",
+        "\n",
+        "result = \"done\"\n",
+        "\n",
+        "submit(student_id, name, assignment_id, result, question_id)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "pRvwSryDVWdw"
+      },
+      "source": [
+        "## Challenge 2\n",
+        "\n",
+        "Convert below string to \"IT'S SO COOL!\""
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 19,
+      "metadata": {
+        "id": "VzaCDDO4xEEq",
+        "outputId": "474119a1-bec1-4d86-96d9-994f8c59ce0b",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "stream",
+          "name": "stdout",
+          "text": [
+            "IT'S SO COOL!\n"
+          ]
+        }
+      ],
+      "source": [
+        "print(\"  It's so cool!    \".strip().upper())"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "lpclcu76VWdx"
+      },
+      "source": [
+        "When you are done with the above challenge, then:\n",
+        "\n",
+        "1. Change the text \"my result\" below with the text \"done\"\n",
+        "2. Run the code block by pressing the play button."
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 20,
+      "metadata": {
+        "id": "NtiYRb1mVWdx",
+        "outputId": "6f9089ad-ab67-4390-9819-7c6978390404",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'Assignment successfully submitted'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 20
+        }
+      ],
+      "source": [
+        "# Submit Method\n",
+        "assignment_id = \"002_data_types\"\n",
+        "question_id = \"06_method_chain_2\"\n",
+        "\n",
+        "result = \"done\"\n",
+        "\n",
+        "submit(student_id, name, assignment_id, result, question_id)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "GvnlQDReVWdx"
+      },
+      "source": [
+        "## Challenge 3\n",
+        "\n",
+        "Convert below string to \"I'm not a bird\"\n",
+        "\n",
+        "Note:\n",
+        "\n",
+        "- If you want to delete a word from a sentence, make sure you add space before and after the word so it will remove the word and the space before and after it.\n",
+        "\n",
+        "```python\n",
+        "\"I'm so hungry\".replace(\"so\", \"\") # WRONG, it will result in \"I'm  hungry\" (notice the extra space)\n",
+        "\"I'm so hungry\".replace(\" so \", \"\") # CORRECT, it will result in \"I'm hungry\"\n",
+        "```"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 21,
+      "metadata": {
+        "id": "317M157mVWdx",
+        "outputId": "e97c8262-dc50-40d5-ea75-26a64b6e6125",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "\"I'm not a bird\""
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 21
+        }
+      ],
+      "source": [
+        "\"I'm not a cat\".replace(\"cat\", \"bird\")"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "my4qcua6VWdx"
+      },
+      "source": [
+        "When you are done with the above challenge, then:\n",
+        "\n",
+        "1. Change the text \"my result\" below with the text \"done\"\n",
+        "2. Run the code block by pressing the play button."
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 22,
+      "metadata": {
+        "id": "RUwUxgsqVWdx",
+        "outputId": "374431b7-1b7d-46fe-e2ee-0a6a43791df4",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'Assignment successfully submitted'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 22
+        }
+      ],
+      "source": [
+        "# Submit Method\n",
+        "assignment_id = \"002_data_types\"\n",
+        "question_id = \"07_method_chain_3\"\n",
+        "\n",
+        "result = \"done\"\n",
+        "\n",
+        "submit(student_id, name, assignment_id, result, question_id)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "zSWHGX7RVWdx"
+      },
+      "source": [
+        "# Comment\n",
+        "\n",
+        "Comment is a text that is ignored by the computer, it's mostly used to explain what a code does."
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 23,
+      "metadata": {
+        "id": "seQgg9fDVWdx",
+        "outputId": "9abefdcc-e114-42bd-9561-d194a686943a",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'This line will be executed'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 23
+        }
+      ],
+      "source": [
+        "# This is a comment, this line will not be executed\n",
+        "# def my_function():\n",
+        "#     print(\"Hello from a function\")\n",
+        "# above code will not be executed either\n",
+        "\n",
+        "\"This line will be executed\" # print(\"This line will not be executed\")"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "EnxX7SS6xEEe"
+      },
+      "source": [
+        "# String concatenation\n",
+        "\n",
+        "We can concatenate (combine) two strings together using `+` operator"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 24,
+      "metadata": {
+        "id": "SfO_hZb_xEEe",
+        "outputId": "c68e845c-5f68-43fe-cb1d-c75afacb54a2",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'Hello world!'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 24
+        }
+      ],
+      "source": [
+        "\"Hello \" + \"world!\""
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "t8Zh3SrQVWdx"
+      },
+      "source": [
+        "# Challenge\n",
+        "\n",
+        "## Challenge 1\n",
+        "\n",
+        "Try to concatenate below string with Rudi's name"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 25,
+      "metadata": {
+        "id": "G_vb0lM4VWdx",
+        "outputId": "e9506642-205c-4ae2-8094-b0071b4b8e57",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'Imam, Andi, Ridho, Rudi'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 25
+        }
+      ],
+      "source": [
+        "\"Imam, Andi, Ridho\" + \", Rudi\" # Convert to \"Imam, Andi, Ridho, Rudi\""
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "EM6z46liVWdx"
+      },
+      "source": [
+        "When you are done with the above challenge, then:\n",
+        "\n",
+        "1. Change the text \"my result\" below with the text \"done\"\n",
+        "2. Run the code block by pressing the play button."
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 26,
+      "metadata": {
+        "id": "O_1TGeQlVWdx",
+        "outputId": "bc30ccd5-ed15-42a3-91e4-7e5f39fbac53",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'Assignment successfully submitted'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 26
+        }
+      ],
+      "source": [
+        "# Submit Method\n",
+        "assignment_id = \"002_data_types\"\n",
+        "question_id = \"08_concat\"\n",
+        "\n",
+        "result = \"done\"\n",
+        "\n",
+        "submit(student_id, name, assignment_id, result, question_id)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "AbHz-S75xEEf"
+      },
+      "source": [
+        "# Numbers (integers and floats)\n",
+        "\n",
+        "Numbers in Python are divided into two types: integers and floats. Integers are whole numbers, while floats are decimal numbers.\n",
+        "\n",
+        "Below are integers:\n",
+        "\n",
+        "```python\n",
+        "1\n",
+        "30\n",
+        "70\n",
+        "```\n",
+        "\n",
+        "Below are floats:\n",
+        "\n",
+        "```python\n",
+        "1.0\n",
+        "30.0\n",
+        "70.0\n",
+        "```\n",
+        "\n",
+        "We can do basic math operations with either integers or floats:"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 27,
+      "metadata": {
+        "id": "BzkkiW0AxEEg",
+        "outputId": "86b019a3-eab0-4248-c9da-a4718f3ec552",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "16.0"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 27
+        }
+      ],
+      "source": [
+        "(5 + 3) * 2.0"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "VLrhaS9UVWdy"
+      },
+      "source": [
+        "# Challenge!\n",
+        "\n",
+        "## Challenge 1\n",
+        "\n",
+        "Create a formula of 10 times 2.\n",
+        "The output = 20"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 43,
+      "metadata": {
+        "id": "WNcRBLWjVWdy",
+        "outputId": "4e20eb30-d5ff-449c-acfd-995f110e3109",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "20"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 43
+        }
+      ],
+      "source": [
+        "# Write the code\n",
+        "10*2"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "zZM6lAY5VWdy"
+      },
+      "source": [
+        "When you are done with the above challenge, then:\n",
+        "\n",
+        "1. Change the text \"my result\" below with the formula you created above.\n",
+        "2. Run the code block by pressing the play button."
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 44,
+      "metadata": {
+        "id": "lBghSuzhVWdy",
+        "outputId": "2e879822-7780-40da-a9dd-8037a8b39b4e",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'Assignment successfully submitted'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 44
+        }
+      ],
+      "source": [
+        "# Submit Method\n",
+        "assignment_id = \"002_data_types\"\n",
+        "question_id = \"09_math_1\"\n",
+        "\n",
+        "result = \"10*2\"\n",
+        "\n",
+        "submit(student_id, name, assignment_id, result, question_id)"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "TKQXnxWWVWdy"
+      },
+      "source": [
+        "## Challenge 2\n",
+        "\n",
+        "Create a formula of 10 plus 2 then times 3 (remember the order of operations, you might need to use parentheses?)\n",
+        "The output = 36"
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 41,
+      "metadata": {
+        "id": "qFNRol3gVWdy",
+        "outputId": "49de078a-8286-49ef-cad5-868a54cf5276",
+        "colab": {
+          "base_uri": "https://localhost:8080/"
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "36"
+            ]
+          },
+          "metadata": {},
+          "execution_count": 41
+        }
+      ],
+      "source": [
+        "# Write the code\n",
+        "(10+2)*3"
+      ]
+    },
+    {
+      "cell_type": "markdown",
+      "metadata": {
+        "id": "UKsvqcGGVWdy"
+      },
+      "source": [
+        "When you are done with the above challenge, then:\n",
+        "\n",
+        "1. Change the text \"my result\" below with the formula you created above.\n",
+        "2. Run the code block by pressing the play button."
+      ]
+    },
+    {
+      "cell_type": "code",
+      "execution_count": 42,
+      "metadata": {
+        "id": "BzhzUEHQVWdy",
+        "outputId": "d2131d5b-7278-49fa-93c5-55ba1ffef0b0",
+        "colab": {
+          "base_uri": "https://localhost:8080/",
+          "height": 35
+        }
+      },
+      "outputs": [
+        {
+          "output_type": "execute_result",
+          "data": {
+            "text/plain": [
+              "'Assignment successfully submitted'"
+            ],
+            "application/vnd.google.colaboratory.intrinsic+json": {
+              "type": "string"
+            }
+          },
+          "metadata": {},
+          "execution_count": 42
+        }
+      ],
+      "source": [
+        "# Submit Method\n",
+        "assignment_id = \"002_data_types\"\n",
+        "question_id = \"10_math_2\"\n",
+        "\n",
+        "result = \"(10+2)*3\"\n",
+        "\n",
+        "submit(student_id, name, assignment_id, result, question_id)"
+      ]
+    }
+  ],
+  "metadata": {
+    "colab": {
+      "provenance": [],
+      "include_colab_link": true
+    },
+    "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",
+      "version": "3.11.3"
+    }
+  },
+  "nbformat": 4,
+  "nbformat_minor": 0
+}
\ No newline at end of file
