diff --git a/your-code/challenges.ipynb b/your-code/challenges.ipynb index ba91b3f..ecb763a 100644 --- a/your-code/challenges.ipynb +++ b/your-code/challenges.ipynb @@ -13,11 +13,11 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ - "# Your code here" + "tup = (\"I\",)" ] }, { @@ -31,11 +31,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], "source": [ - "# Your code here" + "print(type(tup))" ] }, { @@ -53,16 +61,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": { "scrolled": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('I', 'r')\n" + ] + } + ], "source": [ - "# Your code here\n", - "\n", - "# Your explanation here\n", - "# You can :) " + "tup = tup + (\"r\",)\n", + "print(tup)" ] }, { @@ -80,11 +94,21 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('I', 'r', 'r', 'o', 'n', 'h', 'a', 'c', 'k')\n" + ] + } + ], "source": [ - "# Your code here" + "# Your code here\n", + "tup = tup + (\"r\", \"o\", \"n\", \"h\", \"a\", \"c\", \"k\")\n", + "print(tup)" ] }, { @@ -102,11 +126,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tup1: ('I', 'r', 'o', 'n')\n", + "tup2: ('h', 'a', 'c', 'k')\n" + ] + } + ], "source": [ - "# Your code here" + "# Your code h# Partimos de la tupla original\n", + "tup = (\"I\", \"r\", \"o\", \"n\", \"h\", \"a\", \"c\", \"k\")\n", + "\n", + "# Usar índices positivos para los primeros 4 elementos\n", + "tup1 = tup[0:4]\n", + "\n", + "# Usar índices negativos para los últimos 4 elementos\n", + "tup2 = tup[-4:]\n", + "\n", + "# Imprimir resultados\n", + "print(\"tup1:\", tup1)\n", + "print(\"tup2:\", tup2)" ] }, { @@ -120,11 +164,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "tup3: ('I', 'r', 'o', 'n', 'h', 'a', 'c', 'k')\n", + "¿tup3 es igual a tup?: True\n" + ] + } + ], "source": [ - "# Your code here" + "# Partimos de las tuplas anteriores\n", + "tup1 = (\"I\", \"r\", \"o\", \"n\")\n", + "tup2 = (\"h\", \"a\", \"c\", \"k\")\n", + "\n", + "# Usar el operador + para concatenarlas\n", + "tup3 = tup1 + tup2\n", + "\n", + "# Imprimir resultado\n", + "print(\"tup3:\", tup3)\n", + "\n", + "# Comparar con la tupla original\n", + "tup = (\"I\", \"r\", \"o\", \"n\", \"h\", \"a\", \"c\", \"k\")\n", + "print(\"¿tup3 es igual a tup?:\", tup3 == tup)" ] }, { @@ -136,11 +201,45 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Your code here" + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of elements in tup1: 4\n", + "Number of elements in tup2: 4\n", + "Sum of both counts: 8\n", + "Number of elements in tup3: 8\n", + "Do they match?: True\n" + ] + } + ], + "source": [ + "count1 = 0\n", + "for _ in tup1:\n", + " count1 += 1\n", + "\n", + "# Count elements in tup2 manually\n", + "count2 = 0\n", + "for _ in tup2:\n", + " count2 += 1\n", + "\n", + "# Add the counts\n", + "total = count1 + count2\n", + "\n", + "# Count elements in tup3 manually\n", + "count3 = 0\n", + "for _ in tup3:\n", + " count3 += 1\n", + "\n", + "# Print results in English\n", + "print(\"Number of elements in tup1:\", count1)\n", + "print(\"Number of elements in tup2:\", count2)\n", + "print(\"Sum of both counts:\", total)\n", + "print(\"Number of elements in tup3:\", count3)\n", + "print(\"Do they match?:\", total == count3)\n" ] }, { @@ -152,11 +251,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Index of 'h' in tup3: 4\n" + ] + } + ], "source": [ - "# Your code here" + "position = 0\n", + "for element in tup3:\n", + " if element == \"h\":\n", + " print(\"Index of 'h' in tup3:\", position)\n", + " break\n", + " position += 1\n" ] }, { @@ -176,20 +288,37 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ - "# Your code here" + "letters = [\"a\", \"b\", \"c\", \"d\", \"e\"]" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a → True\n", + "b → False\n", + "c → True\n", + "d → False\n", + "e → False\n" + ] + } + ], "source": [ - "# Your code here" + "\n", + "for letter in letters:\n", + " if letter in tup3:\n", + " print(letter, \"→ True\")\n", + " else:\n", + " print(letter, \"→ False\")\n" ] }, { @@ -203,11 +332,30 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a → 1\n", + "b → 0\n", + "c → 1\n", + "d → 0\n", + "e → 0\n" + ] + } + ], "source": [ - "# Your code here" + "letters = [\"a\", \"b\", \"c\", \"d\", \"e\"]\n", + "\n", + "for letter in letters:\n", + " count = 0\n", + " for element in tup3:\n", + " if element == letter:\n", + " count += 1\n", + " print(f\"{letter} → {count}\")\n" ] }, { @@ -223,7 +371,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ @@ -248,11 +396,11 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ - "# Your code here" + "sample_list_1 = random.sample(range(0, 101), 80)" ] }, { @@ -264,11 +412,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{0, 2, 3, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 24, 25, 26, 27, 28, 29, 30, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 57, 58, 59, 60, 61, 64, 65, 67, 68, 69, 70, 71, 73, 74, 75, 77, 78, 80, 82, 84, 86, 88, 89, 90, 91, 92, 93, 95, 96, 97, 98, 99, 100}\n", + "Length of set1: 80\n" + ] + } + ], "source": [ - "# your code here" + "# Convert list to set\n", + "set1 = set(sample_list_1)\n", + "\n", + "# Print the set (optional)\n", + "print(set1)\n", + "\n", + "# Print the length\n", + "print(\"Length of set1:\", len(set1))" ] }, { @@ -287,11 +451,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[98, 97, 38, 12, 29, 7, 90, 1, 16, 70, 41, 70, 96, 32, 86, 73, 88, 54, 89, 83, 35, 6, 8, 90, 24, 46, 55, 95, 33, 0, 77, 18, 5, 36, 55, 66, 100, 92, 79, 50, 13, 2, 66, 52, 31, 94, 53, 12, 38, 39, 70, 62, 17, 7, 49, 85, 40, 23, 58, 95, 100, 95, 1, 52, 88, 9, 86, 0, 92, 11, 12, 55, 32, 40, 32, 29, 54, 22, 76, 12]\n" + ] + } + ], "source": [ - "# your code here" + "sample_list_2 = []\n", + "\n", + "# Use a FOR loop to generate 80 random integers (duplicates allowed)\n", + "for i in range(80):\n", + " sample_list_2.append(random.randint(0, 100))\n", + "\n", + "print(sample_list_2)\n" ] }, { @@ -303,11 +481,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{0, 1, 2, 5, 6, 7, 8, 9, 11, 12, 13, 16, 17, 18, 22, 23, 24, 29, 31, 32, 33, 35, 36, 38, 39, 40, 41, 46, 49, 50, 52, 53, 54, 55, 58, 62, 66, 70, 73, 76, 77, 79, 83, 85, 86, 88, 89, 90, 92, 94, 95, 96, 97, 98, 100}\n", + "Length of set2: 55\n" + ] + } + ], "source": [ - "# Your code here" + "# Convert sample_list_2 to a set\n", + "set2 = set(sample_list_2)\n", + "\n", + "# Print the set (optional)\n", + "print(set2)\n", + "\n", + "# Print the length of the set\n", + "print(\"Length of set2:\", len(set2))\n" ] }, { @@ -319,11 +513,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "set3: {3, 10, 14, 15, 20, 25, 26, 27, 28, 30, 37, 42, 43, 44, 45, 47, 48, 51, 56, 57, 59, 60, 61, 64, 65, 67, 68, 69, 71, 74, 75, 78, 80, 82, 84, 91, 93, 99}\n", + "Number of elements in set3: 38\n" + ] + } + ], "source": [ - "# Your code here" + "set3 = set1 - set2\n", + "\n", + "print(\"set3:\", set3)\n", + "print(\"Number of elements in set3:\", len(set3))" ] }, { @@ -335,11 +541,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "set4: {1, 66, 5, 9, 76, 79, 83, 85, 54, 23, 94, 62, 31}\n", + "Number of elements in set4: 13\n" + ] + } + ], "source": [ - "# Your code here" + "# Elements present in set2 but not in set1\n", + "set4 = set2 - set1\n", + "\n", + "print(\"set4:\", set4)\n", + "print(\"Number of elements in set4:\", len(set4))\n" ] }, { @@ -351,11 +570,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "set5: {0, 2, 6, 7, 8, 11, 12, 13, 16, 17, 18, 22, 24, 29, 32, 33, 35, 36, 38, 39, 40, 41, 46, 49, 50, 52, 53, 55, 58, 70, 73, 77, 86, 88, 89, 90, 92, 95, 96, 97, 98, 100}\n", + "Number of elements in set5: 42\n" + ] + } + ], "source": [ - "# Your code here" + "# Elements shared between set1 and set2\n", + "set5 = set1 & set2\n", + "\n", + "print(\"set5:\", set5)\n", + "print(\"Number of elements in set5:\", len(set5))" ] }, { @@ -375,11 +607,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "len(set1): 80\n", + "len(set3) + len(set5): 80\n", + "Check if equal: True\n", + "len(set2): 55\n", + "len(set4) + len(set5): 55\n", + "Check if equal: True\n" + ] + } + ], "source": [ - "# Your code here" + "print(\"len(set1):\", len(set1))\n", + "print(\"len(set3) + len(set5):\", len(set3) + len(set5))\n", + "print(\"Check if equal:\", len(set1) == len(set3) + len(set5))\n", + "\n", + "print(\"len(set2):\", len(set2))\n", + "print(\"len(set4) + len(set5):\", len(set4) + len(set5))\n", + "print(\"Check if equal:\", len(set2) == len(set4) + len(set5))" ] }, { @@ -391,11 +642,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "set6: set()\n", + "Type of set6: \n" + ] + } + ], "source": [ - "# Your code here" + "set6 = set()\n", + "print(\"set6:\", set6)\n", + "print(\"Type of set6:\", type(set6))" ] }, { @@ -407,11 +669,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "set6 after update: {0, 2, 3, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 24, 25, 26, 27, 28, 29, 30, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 57, 58, 59, 60, 61, 64, 65, 67, 68, 69, 70, 71, 73, 74, 75, 77, 78, 80, 82, 84, 86, 88, 89, 90, 91, 92, 93, 95, 96, 97, 98, 99, 100}\n", + "Number of elements in set6: 80\n" + ] + } + ], "source": [ - "# Your code here" + "# Add elements of set3 and set5 to set6\n", + "set6.update(set3)\n", + "set6.update(set5)\n", + "\n", + "print(\"set6 after update:\", set6)\n", + "print(\"Number of elements in set6:\", len(set6))" ] }, { @@ -423,11 +699,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 38, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Are set1 and set6 equal?: True\n" + ] + } + ], "source": [ - "# Your code here" + "print(\"Are set1 and set6 equal?:\", set1 == set6)" ] }, { @@ -439,11 +723,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Does set1 contain set2?: False\n", + "Does set1 contain set3?: True\n" + ] + } + ], "source": [ - "# Your code here" + "# Check if set2 is a subset of set1\n", + "print(\"Does set1 contain set2?:\", set2.issubset(set1))\n", + "\n", + "# Check if set3 is a subset of set1\n", + "print(\"Does set1 contain set3?:\", set3.issubset(set1))" ] }, { @@ -457,11 +754,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 40, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Union of set3, set4, set5: {0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100}\n", + "Number of elements in union_345: 93\n", + "Union of set1 and set2: {0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 73, 74, 75, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100}\n", + "Number of elements in union_12: 93\n" + ] + } + ], "source": [ - "# Your code here" + "# Aggregate set3, set4, and set5\n", + "union_345 = set3.union(set4, set5)\n", + "print(\"Union of set3, set4, set5:\", union_345)\n", + "print(\"Number of elements in union_345:\", len(union_345))\n", + "\n", + "# Aggregate set1 and set2\n", + "union_12 = set1.union(set2)\n", + "print(\"Union of set1 and set2:\", union_12)\n", + "print(\"Number of elements in union_12:\", len(union_12))" ] }, { @@ -473,11 +789,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 41, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Removed element: 0\n", + "set1 after pop: {2, 3, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 24, 25, 26, 27, 28, 29, 30, 32, 33, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 57, 58, 59, 60, 61, 64, 65, 67, 68, 69, 70, 71, 73, 74, 75, 77, 78, 80, 82, 84, 86, 88, 89, 90, 91, 92, 93, 95, 96, 97, 98, 99, 100}\n" + ] + } + ], "source": [ - "# Your code here" + "removed_element = set1.pop()\n", + "print(\"Removed element:\", removed_element)\n", + "print(\"set1 after pop:\", set1)" ] }, { @@ -493,11 +820,40 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Your code here" + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "After discarding list_to_remove:\n", + "set1: {2, 3, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 20, 22, 24, 25, 26, 27, 28, 30, 32, 33, 35, 36, 37, 38, 40, 42, 43, 44, 45, 46, 47, 48, 50, 52, 53, 55, 56, 57, 58, 60, 64, 65, 67, 68, 70, 73, 74, 75, 77, 78, 80, 82, 84, 86, 88, 90, 92, 93, 95, 96, 97, 98, 100}\n", + "Number of elements left: 66\n", + "\n", + "Removed element with pop(): 2\n", + "set1 after pop: {3, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17, 18, 20, 22, 24, 25, 26, 27, 28, 30, 32, 33, 35, 36, 37, 38, 40, 42, 43, 44, 45, 46, 47, 48, 50, 52, 53, 55, 56, 57, 58, 60, 64, 65, 67, 68, 70, 73, 74, 75, 77, 78, 80, 82, 84, 86, 88, 90, 92, 93, 95, 96, 97, 98, 100}\n", + "Number of elements left: 65\n" + ] + } + ], + "source": [ + "list_to_remove = [1, 9, 11, 19, 21, 29, 31, 39, 41, 49, \n", + " 51, 59, 61, 69, 71, 79, 81, 89, 91, 99]\n", + "\n", + "# Step 1: Remove all numbers in list_to_remove if they exist in set1\n", + "for num in list_to_remove:\n", + " set1.discard(num) # safe removal, no error if not present\n", + "\n", + "print(\"After discarding list_to_remove:\")\n", + "print(\"set1:\", set1)\n", + "print(\"Number of elements left:\", len(set1))\n", + "\n", + "# Step 2: Pop one element from the remaining set1\n", + "removed_element = set1.pop() # removes an arbitrary element\n", + "print(\"\\nRemoved element with pop():\", removed_element)\n", + "print(\"set1 after pop:\", set1)\n", + "print(\"Number of elements left:\", len(set1))\n" ] }, { @@ -515,7 +871,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 43, "metadata": {}, "outputs": [], "source": [ @@ -555,7 +911,22 @@ "metadata": {}, "outputs": [], "source": [ - "# Your code here" + "# Step 1: Get all keys as a list\n", + "keys = list(word_freq.keys())\n", + "\n", + "# Step 2: Sort keys alphabetically\n", + "keys.sort()\n", + "\n", + "# Step 3: Build a new dictionary in sorted order\n", + "word_freq2 = {}\n", + "for key in keys:\n", + " word_freq2[key] = word_freq[key]\n", + "\n", + "# Step 4: Print the sorted dictionary\n", + "print(word_freq2)\n", + "\n", + "\n", + "\n" ] }, { @@ -602,9 +973,9 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python [conda env:base] *", "language": "python", - "name": "python3" + "name": "conda-base-py" }, "language_info": { "codemirror_mode": { @@ -616,7 +987,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.13" + "version": "3.13.5" }, "vscode": { "interpreter": { @@ -625,5 +996,5 @@ } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 }