Skip to content

Update lab-python-error-handling.ipynb #33

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
184 changes: 183 additions & 1 deletion lab-python-error-handling.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,189 @@
"metadata": {},
"outputs": [],
"source": [
"# your code goes here"
"def categorize_members(input):\n",
" try:\n",
" if not all(isinstance(i, list) and len(i) == 2 and isinstance(i[0], int) and isinstance(i[1], int) for i in input):\n",
" raise ValueError(\"Input debe ser una lista de listas, cada una conteniendo dos enteros (edad y discapacidad).\")\n",
" \n",
" return [\"Senior\" if age >= 55 and handicap > 7 else \"Open\" for age, handicap in input]\n",
" except ValueError as e:\n",
" print(f\"Error: {e}\")\n",
" except Exception as e:\n",
" print(f\"Ocurrió un error inesperado: {e}\")\n",
" else:\n",
" print(\"La categorización se realizó correctamente.\")\n",
" finally:\n",
" print(\"Fin de la función categorize_members.\")\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5ddd84f6",
"metadata": {},
"outputs": [],
"source": [
"def sum_multiples_of_3_or_5(n):\n",
" try:\n",
" if not isinstance(n, int):\n",
" raise TypeError(\"El argumento debe ser un número entero.\")\n",
" if n < 0:\n",
" return 0\n",
" \n",
" return sum(x for x in range(n) if x % 3 == 0 or x % 5 == 0)\n",
" except TypeError as e:\n",
" print(f\"Error: {e}\")\n",
" except Exception as e:\n",
" print(f\"Ocurrió un error inesperado: {e}\")\n",
" else:\n",
" print(\"La suma de los múltiplos se calculó correctamente.\")\n",
" finally:\n",
" print(\"Fin de la función sum_multiples_of_3_or_5.\")\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "80f657dc",
"metadata": {},
"outputs": [],
"source": [
"def digits_of_number(n):\n",
" try:\n",
" if not isinstance(n, int):\n",
" raise TypeError(\"El argumento debe ser un número entero.\")\n",
" \n",
" return [int(digit) for digit in str(n)]\n",
" except TypeError as e:\n",
" print(f\"Error: {e}\")\n",
" except ValueError as e:\n",
" print(f\"Error de valor: {e}\")\n",
" except Exception as e:\n",
" print(f\"Ocurrió un error inesperado: {e}\")\n",
" else:\n",
" print(\"Los dígitos fueron extraídos correctamente.\")\n",
" finally:\n",
" print(\"Fin de la función digits_of_number.\")\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "c26b5cf8",
"metadata": {},
"outputs": [],
"source": [
"def invert(lst):\n",
" try:\n",
" if not isinstance(lst, list):\n",
" raise TypeError(\"El argumento debe ser una lista de números enteros.\")\n",
" if not all(isinstance(x, int) for x in lst):\n",
" raise ValueError(\"Todos los elementos de la lista deben ser enteros.\")\n",
" \n",
" return [-x for x in lst]\n",
" except TypeError as e:\n",
" print(f\"Error: {e}\")\n",
" except ValueError as e:\n",
" print(f\"Error de valor: {e}\")\n",
" except Exception as e:\n",
" print(f\"Ocurrió un error inesperado: {e}\")\n",
" else:\n",
" print(\"Los signos fueron invertidos correctamente.\")\n",
" finally:\n",
" print(\"Fin de la función invert.\")\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "fd1b2580",
"metadata": {},
"outputs": [],
"source": [
"def generate_pairs(list1, list2):\n",
" try:\n",
" if not isinstance(list1, list) or not isinstance(list2, list):\n",
" raise TypeError(\"Ambos argumentos deben ser listas.\")\n",
" \n",
" return [(x, y) for x in list1 for y in list2]\n",
" except TypeError as e:\n",
" print(f\"Error: {e}\")\n",
" except Exception as e:\n",
" print(f\"Ocurrió un error inesperado: {e}\")\n",
" else:\n",
" print(\"Los pares fueron generados correctamente.\")\n",
" finally:\n",
" print(\"Fin de la función generate_pairs.\")\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1efb26e8",
"metadata": {},
"outputs": [],
"source": [
"def key_value_pairs(d):\n",
" try:\n",
" if not isinstance(d, dict):\n",
" raise TypeError(\"El argumento debe ser un diccionario.\")\n",
" \n",
" return [(key, value) for key, values in d.items() for value in values]\n",
" except TypeError as e:\n",
" print(f\"Error: {e}\")\n",
" except Exception as e:\n",
" print(f\"Ocurrió un error inesperado: {e}\")\n",
" else:\n",
" print(\"Los pares clave-valor fueron generados correctamente.\")\n",
" finally:\n",
" print(\"Fin de la función key_value_pairs.\")\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "fc258635",
"metadata": {},
"outputs": [],
"source": [
"def generate_all_pairs(tuples):\n",
" try:\n",
" if not all(isinstance(t, tuple) and len(t) == 2 and isinstance(t[0], list) and isinstance(t[1], list) for t in tuples):\n",
" raise TypeError(\"El argumento debe ser una lista de tuplas, cada una conteniendo dos listas.\")\n",
" \n",
" return [(x, y) for (list1, list2) in tuples for x in list1 for y in list2]\n",
" except TypeError as e:\n",
" print(f\"Error: {e}\")\n",
" except Exception as e:\n",
" print(f\"Ocurrió un error inesperado: {e}\")\n",
" else:\n",
" print(\"Los pares fueron generados correctamente.\")\n",
" finally:\n",
" print(\"Fin de la función generate_all_pairs.\")\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1527cd28",
"metadata": {},
"outputs": [],
"source": [
"def string_pairs(strings):\n",
" try:\n",
" if not all(isinstance(s, str) for s in strings):\n",
" raise TypeError(\"El argumento debe ser una lista de cadenas.\")\n",
" \n",
" return {(x, y) for s1 in strings for x in s1 for s2 in strings for y in s2}\n",
" except TypeError as e:\n",
" print(f\"Error: {e}\")\n",
" except Exception as e:\n",
" print(f\"Ocurrió un error inesperado: {e}\")\n",
" else:\n",
" print(\"Los pares de caracteres fueron generados correctamente.\")\n",
" finally:\n",
" print(\"Fin de la función string_pairs.\")\n"
]
}
],
Expand Down