Ejercicios

Tema 0: Introducción

Repaso

  1. Escribe una función que reciba dos listas y devuelva una lista con los productos de los elementos de esas listas.

    Hint

    Itera sobre los índices y accede con operador []

    Solución

  2. Escribe la función anterior, sin utilizar el operador []

    Hint

    Utiliza la función zip ()

    Hint

    Recuerda que en un bucle for se pueden desempaquetar tuplas: `` for a, b in ...``

    Solución

  3. Compara el rendimiento de esta función con el de la solución con corchetes. ¿Cual de las dos es más rápida?

    Hint

    Utilizar %timeit de IPython

    Solución

  4. Escribe una función que reciba una frase y devuelva un a pareja de un bool indicando si la frase es palíndromo, y un diccionario que asocie a cada palabra de la frase si ella misma es palíndromo o no.

    Hint

    Un palíndromo es una frase o una palabra que es igual leída hacia adelante o hacia atrás.

    Hint

    Realizar la comprobación de si una secuencia es simétrica cualesquiera que sea el tipo de sus contenidos en una función a parte.

    Solución

Módulos y documentación

  1. Crea un paquete palin que contenga la función del ejercicio anterior, con un módulo liga.util que contenga la función del ejercicio 2. Si no has hecho las funciones anteriores aún, haz una implementación vacía que haga:

    raise NotImplemented
    

    Hint

    Recuerda que las funciones de un paquetes hay que ponerlas en el módulo especial __init__ dentro del paquete.

    Solución

  2. Documenta las funciones anteriores. Comprueba el resultado con pydoc y desde la consola.

    Solución

  3. Escribe una función may_raise (objeto) que recibe como parámetro cualquier entidad del lenguaje devuelva True si devuelve excepciones o False si no basándose heurísticamente en lo que dice su documentación.

    Hint

    Recuerda que puedes acceder a la documentación de un objeto a través de __doc__.

    Hint

    Puedes probar heurísticamente simplemente buscando la cadena :raise o @raise en el texto de la documentación.

    Solución