From 9fd3c14286133907bfa2993528f57c34e278a17a Mon Sep 17 00:00:00 2001 From: luispabloaiello-da Date: Fri, 5 Sep 2025 18:14:49 +0200 Subject: [PATCH 1/7] Katas - 1 --- lab-python-list-comprehension.ipynb | 68 +++++++++++++++++++++++++++-- 1 file changed, 64 insertions(+), 4 deletions(-) diff --git a/lab-python-list-comprehension.ipynb b/lab-python-list-comprehension.ipynb index 6bef7fd..e892ef2 100644 --- a/lab-python-list-comprehension.ipynb +++ b/lab-python-list-comprehension.ipynb @@ -74,9 +74,69 @@ "execution_count": null, "id": "21625526-3fae-4c55-bab5-f91940070681", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[18, 20], [61, 12], [37, 6]]\n" + ] + } + ], "source": [ - "# your code goes here" + "# your code goes here\n", + "list_members = [\"Juan\", \"Pedro\", \"Maria\"]\n", + "# inventory = {}\n", + "\n", + "# for member in list_members:\n", + "# age_handicap = input(f\"Enter age and handicap for {member} (comma-separated): \")\n", + "# age, handicap = map(int, age_handicap.split(\",\"))\n", + "# inventory[member] = {\"age\": age, \"handicap\": handicap}\n", + "\n", + "# print(inventory)\n", + "\n", + "# Categories = {}\n", + "# for member in inventory:\n", + "# if inventory[member]['handicap'] >= 7 and inventory[member]['age'] >= 55:\n", + "# category ='Senior'\n", + "# Categories[member] = category\n", + "# else:\n", + "# category = 'Open'\n", + "# Categories[member] = category\n", + " \n", + "# print(Categories)\n", + "\n", + "# category = ['Senior' if inventory[member]['handicap'] >= 7 and inventory[member]['age'] >= 55 else 'Open' for member in inventory]" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "ec8dda3f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['Open', 'Open', 'Senior', 'Open', 'Open', 'Senior']\n" + ] + } + ], + "source": [ + "# inventory = []\n", + "# for i in range(3):\n", + "# age, handicap = map(int, input(\"Enter age and handicap (comma-separated): \").split(\",\"))\n", + "# inventory.append([age, handicap])\n", + "\n", + "# print(inventory)\n", + "\n", + "inventory = [[18, 20], [45, 2], [61, 12], [37, 6], [21, 21], [78, 9]]\n", + "\n", + "category = ['Senior' if member[1] >= 7 and member[0] >= 55 else 'Open' for member in inventory]\n", + "\n", + "print(category)\n", + "\n" ] }, { @@ -319,7 +379,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -333,7 +393,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.13" + "version": "3.13.6" } }, "nbformat": 4, From c6e9181e58475a0cc13fa0dce9395e60acc98ada Mon Sep 17 00:00:00 2001 From: luispabloaiello-da Date: Fri, 5 Sep 2025 18:20:00 +0200 Subject: [PATCH 2/7] Katas - 1 --- lab-python-list-comprehension.ipynb | 58 +++++++++++++---------------- 1 file changed, 25 insertions(+), 33 deletions(-) diff --git a/lab-python-list-comprehension.ipynb b/lab-python-list-comprehension.ipynb index e892ef2..336259a 100644 --- a/lab-python-list-comprehension.ipynb +++ b/lab-python-list-comprehension.ipynb @@ -71,7 +71,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "21625526-3fae-4c55-bab5-f91940070681", "metadata": {}, "outputs": [ @@ -79,13 +79,35 @@ "name": "stdout", "output_type": "stream", "text": [ - "[[18, 20], [61, 12], [37, 6]]\n" + "['Open', 'Open', 'Senior', 'Open', 'Open', 'Senior']\n" ] } ], "source": [ "# your code goes here\n", - "list_members = [\"Juan\", \"Pedro\", \"Maria\"]\n", + "\n", + "# inventory = []\n", + "# for i in range(6):\n", + "# age, handicap = map(int, input(\"Enter age and handicap (comma-separated): \").split(\",\"))\n", + "# inventory.append([age, handicap])\n", + "\n", + "# print(inventory)\n", + "\n", + "input = [[18, 20], [45, 2], [61, 12], [37, 6], [21, 21], [78, 9]]\n", + "\n", + "category = ['Senior' if member[1] >= 7 and member[0] >= 55 else 'Open' for member in input]\n", + "\n", + "print(category)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "ec8dda3f", + "metadata": {}, + "outputs": [], + "source": [ + "# list_members = [\"Juan\", \"Pedro\", \"Maria\"]\n", "# inventory = {}\n", "\n", "# for member in list_members:\n", @@ -109,36 +131,6 @@ "# category = ['Senior' if inventory[member]['handicap'] >= 7 and inventory[member]['age'] >= 55 else 'Open' for member in inventory]" ] }, - { - "cell_type": "code", - "execution_count": 9, - "id": "ec8dda3f", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "['Open', 'Open', 'Senior', 'Open', 'Open', 'Senior']\n" - ] - } - ], - "source": [ - "# inventory = []\n", - "# for i in range(3):\n", - "# age, handicap = map(int, input(\"Enter age and handicap (comma-separated): \").split(\",\"))\n", - "# inventory.append([age, handicap])\n", - "\n", - "# print(inventory)\n", - "\n", - "inventory = [[18, 20], [45, 2], [61, 12], [37, 6], [21, 21], [78, 9]]\n", - "\n", - "category = ['Senior' if member[1] >= 7 and member[0] >= 55 else 'Open' for member in inventory]\n", - "\n", - "print(category)\n", - "\n" - ] - }, { "cell_type": "markdown", "id": "ad8758b7-bc71-4af8-999c-5e4def116906", From 00265491bfc36310d9f98b1a67ffc867e08f569c Mon Sep 17 00:00:00 2001 From: luispabloaiello-da Date: Sat, 6 Sep 2025 12:30:59 +0200 Subject: [PATCH 3/7] Katas - 2 3 and 4 --- lab-python-list-comprehension.ipynb | 123 +++++++++++++++++++++------- 1 file changed, 93 insertions(+), 30 deletions(-) diff --git a/lab-python-list-comprehension.ipynb b/lab-python-list-comprehension.ipynb index 336259a..ed55e0e 100644 --- a/lab-python-list-comprehension.ipynb +++ b/lab-python-list-comprehension.ipynb @@ -102,33 +102,33 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "ec8dda3f", "metadata": {}, "outputs": [], "source": [ - "# list_members = [\"Juan\", \"Pedro\", \"Maria\"]\n", - "# inventory = {}\n", - "\n", - "# for member in list_members:\n", - "# age_handicap = input(f\"Enter age and handicap for {member} (comma-separated): \")\n", - "# age, handicap = map(int, age_handicap.split(\",\"))\n", - "# inventory[member] = {\"age\": age, \"handicap\": handicap}\n", - "\n", - "# print(inventory)\n", - "\n", - "# Categories = {}\n", - "# for member in inventory:\n", - "# if inventory[member]['handicap'] >= 7 and inventory[member]['age'] >= 55:\n", - "# category ='Senior'\n", - "# Categories[member] = category\n", - "# else:\n", - "# category = 'Open'\n", - "# Categories[member] = category\n", + "list_members = [\"Juan\", \"Pedro\", \"Maria\"]\n", + "inventory = {}\n", + "\n", + "for member in list_members:\n", + " age_handicap = input(f\"Enter age and handicap for {member} (comma-separated): \")\n", + " age, handicap = map(int, age_handicap.split(\",\"))\n", + " inventory[member] = {\"age\": age, \"handicap\": handicap}\n", + "\n", + "print(inventory)\n", + "\n", + "Categories = {}\n", + "for member in inventory:\n", + " if inventory[member]['handicap'] >= 7 and inventory[member]['age'] >= 55:\n", + " category ='Senior'\n", + " Categories[member] = category\n", + " else:\n", + " category = 'Open'\n", + " Categories[member] = category\n", " \n", - "# print(Categories)\n", + "print(Categories)\n", "\n", - "# category = ['Senior' if inventory[member]['handicap'] >= 7 and inventory[member]['age'] >= 55 else 'Open' for member in inventory]" + "category = ['Senior' if inventory[member]['handicap'] >= 7 and inventory[member]['age'] >= 55 else 'Open' for member in inventory]" ] }, { @@ -147,12 +147,37 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "53061dce-7aa3-4476-8b56-71413c5e135c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "60\n" + ] + } + ], "source": [ - "# your code goes here" + "# your code goes here\n", + "ref = 15\n", + "\n", + "# total = 0\n", + "# new_array = set()\n", + "\n", + "# for num in range(ref+1):\n", + "# if num < 0:\n", + "# total += 0\n", + "# elif (num % 3 == 0 or num % 5 == 0) and num > 0:\n", + "# total += num\n", + "# new_array.add(num)\n", + "\n", + "# print(sorted(new_array))\n", + "# print(total)\n", + "\n", + "total = int(sum(num if num > 0 and (num % 3 == 0 or num % 5 == 0) else 0 for num in range(ref+1)))\n", + "print(total)\n" ] }, { @@ -179,12 +204,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "a8cb1579-7065-4fc0-bd53-f91c2ad1dad9", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[8, 6, 7, 5, 3, 0, 9]\n" + ] + } + ], "source": [ - "# your code goes here" + "# your code goes here\n", + "\n", + "input = 8675309\n", + "\n", + "list_digits = [int(digit) for digit in str(input)]\n", + "\n", + "print(list_digits)" ] }, { @@ -207,12 +246,36 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "86ebe759-76d8-4012-8590-c48a473a6099", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[-1, 2, -3, 4, -5]\n" + ] + } + ], "source": [ - "# your code goes here" + "# your code goes here\n", + "\n", + "list = ([1,-2,3,-4,5])\n", + "invert_numbers = []\n", + "\n", + "# for digit in list:\n", + "# if (digit) > 0:\n", + "# invert_numbers.append(int(digit) * -1)\n", + "# elif int(digit) < 0:\n", + "# invert_numbers.append(int(digit) * -1)\n", + "# elif int(digit) == 0:\n", + "# invert_numbers.append(0)\n", + "\n", + "# print(invert_numbers)\n", + "\n", + "invert_numbers = [int(digit) * -1 if digit != 0 else 0 for digit in list]\n", + "print(invert_numbers)\n" ] }, { From 8398c9a93f2d0ef0d070356b21918dbcf9448334 Mon Sep 17 00:00:00 2001 From: luispabloaiello-da Date: Sat, 6 Sep 2025 13:24:54 +0200 Subject: [PATCH 4/7] Challenge 2 | Exercises 1 and 2 --- lab-python-list-comprehension.ipynb | 50 +++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/lab-python-list-comprehension.ipynb b/lab-python-list-comprehension.ipynb index ed55e0e..abc01ff 100644 --- a/lab-python-list-comprehension.ipynb +++ b/lab-python-list-comprehension.ipynb @@ -308,12 +308,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "6711881b-450a-44cb-a3d0-367b2c6a4464", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100, 11: 121, 12: 144, 13: 169, 14: 196, 15: 225}\n" + ] + } + ], "source": [ - "# your code goes here" + "# your code goes here\n", + "\n", + "dict = {}\n", + "\n", + "# for i in range(1, 16):\n", + "# dict[i] = i ** 2\n", + "\n", + "dict = {i: i ** 2 for i in range(1, 16)}\n", + "\n", + "print(dict)" ] }, { @@ -335,12 +352,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 37, "id": "a1d55cea-96c3-4853-8220-17c0904a8816", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[(2, 4), (2, 6), (5, 4), (5, 6)]\n" + ] + } + ], "source": [ - "# your code goes here" + "# your code goes here\n", + "\n", + "list_of_lists = ([2, 5], [4, 6])\n", + "\n", + "# output = []\n", + "\n", + "# for num in list_of_lists[0]:\n", + "# for num1 in list_of_lists[1]:\n", + "# output.append((num,num1))\n", + "\n", + "output = [(num, num1) for num in list_of_lists[0] for num1 in list_of_lists[1]]\n", + "# ...existing code...\n", + "\n", + "print(output)" ] }, { From 895e0341d297ee9f17b3289af0605290bae0b19c Mon Sep 17 00:00:00 2001 From: luispabloaiello-da Date: Sat, 6 Sep 2025 13:41:19 +0200 Subject: [PATCH 5/7] Challenge 2 | Exercise 3 --- lab-python-list-comprehension.ipynb | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/lab-python-list-comprehension.ipynb b/lab-python-list-comprehension.ipynb index abc01ff..fcb26c5 100644 --- a/lab-python-list-comprehension.ipynb +++ b/lab-python-list-comprehension.ipynb @@ -399,12 +399,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 49, "id": "0175239c-87fa-4ba0-8776-d62567256db7", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[('a', 1), ('a', 2), ('b', 3), ('b', 4)]\n" + ] + } + ], "source": [ - "# your code goes here" + "# your code goes here\n", + "\n", + "Input = {\"a\": [1, 2], \"b\": [3, 4]}\n", + "output = []\n", + "\n", + "# for key, values in Input.items():\n", + "# for num in values:\n", + "# print(key, num)\n", + " \n", + "output = [(key,num) for key, values in Input.items() for num in values]\n", + "\n", + "print(output)\n" ] }, { From 73152d4507c49826984c3bacfbce92004a4fa374 Mon Sep 17 00:00:00 2001 From: luispabloaiello-da Date: Sat, 6 Sep 2025 16:26:11 +0200 Subject: [PATCH 6/7] Bonus Exercises | Exercise 1 --- lab-python-list-comprehension.ipynb | 39 ++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/lab-python-list-comprehension.ipynb b/lab-python-list-comprehension.ipynb index fcb26c5..b406ad6 100644 --- a/lab-python-list-comprehension.ipynb +++ b/lab-python-list-comprehension.ipynb @@ -352,7 +352,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 23, "id": "a1d55cea-96c3-4853-8220-17c0904a8816", "metadata": {}, "outputs": [ @@ -360,6 +360,7 @@ "name": "stdout", "output_type": "stream", "text": [ + "\n", "[(2, 4), (2, 6), (5, 4), (5, 6)]\n" ] } @@ -369,6 +370,7 @@ "\n", "list_of_lists = ([2, 5], [4, 6])\n", "\n", + "print(type(list_of_lists))\n", "# output = []\n", "\n", "# for num in list_of_lists[0]:\n", @@ -453,12 +455,41 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 37, "id": "248918d0-f082-40a8-9d5c-c7b4ffd2bfca", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[(1, 3), (1, 4), (2, 3), (2, 4), (5, 7), (5, 8), (6, 7), (6, 8)]\n" + ] + } + ], "source": [ - "# your code goes here" + "# your code goes here\n", + "exercise = [([1, 2], [3, 4]), ([5, 6], [7, 8])]\n", + "\n", + "# print(type(exercise[0]))\n", + "# print(exercise[0])\n", + "# print(exercise[0][1])\n", + "\n", + "# output = []\n", + "\n", + "# for num in exercise[0][0]:\n", + "# for num1 in exercise[0][1]:\n", + "# output.append((num, num1))\n", + " \n", + "# for num in exercise[1][0]:\n", + "# for num1 in exercise[1][1]:\n", + "# output.append((num, num1))\n", + "\n", + "# print(output)\n", + "\n", + "output = [(num, num1) for num in exercise[0][0] for num1 in exercise[0][1]] + [(num, num1) for num in exercise[1][0] for num1 in exercise[1][1]]\n", + "\n", + "print(output)\n" ] }, { From 1da3f11ba2b7435e76eadb54936d0473bb30c86d Mon Sep 17 00:00:00 2001 From: luispabloaiello-da Date: Sat, 6 Sep 2025 22:04:20 +0200 Subject: [PATCH 7/7] Bonus Exercises | Exercise 2 --- lab-python-list-comprehension.ipynb | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/lab-python-list-comprehension.ipynb b/lab-python-list-comprehension.ipynb index b406ad6..71b3769 100644 --- a/lab-python-list-comprehension.ipynb +++ b/lab-python-list-comprehension.ipynb @@ -511,12 +511,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 82, "id": "c57d9e77-6859-45dd-a2e6-2c1898f1baa2", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd')]\n" + ] + } + ], "source": [ - "# your code goes here" + "# your code goes here\n", + "\n", + "input_strings = [\"ab\", \"cd\"]\n", + "\n", + "pair1 = input_strings[0]\n", + "pair2 = input_strings[1]\n", + "\n", + "output = []\n", + "\n", + "output = [(s1, s2) for s1 in input_strings[0] for s2 in input_strings[1]]\n", + "\n", + "print(output)\n" ] } ],