Curso Python. Volumen VIII: Ejercicios

Escrito por Javier Ceballos Fernández

Bienvenidos una semana más a nuestro curso de Python. Hoy os plantearé unos ejercicios basados en los capítulos anteriores, y así de este modo podáis practicar todo lo aprendido hasta el momento. Las soluciones os las daré en la próxima entrega. Así que empecemos con ello.

Os voy a plantear 4 ejercicios, con los que abarcaremos todo lo aprendido hasta el momento.

Ejercicio 1: Crear una calculadora

Esta calculadora tendrá que ser capaz de: sumar, restar, multiplicar y dividir. Pero además, deberá tener un menú para poder decir qué operación queremos hacer. Recordaros que sólo se tendrán que poder introducir números y esto os obligará a controlar la introducción de datos. Como pista os pongo los operadores aritméticos para que no tengáis tanto problema:

Suma +
Resta
Multiplicación *
División /

Ejercicio 2

En este ejercicio quiero que cojáis una lista de números y se ordenen de mayor a menor, o viceversa. Una vez logrado esto, quiero que hagáis lo mismo pero con letras, de manera que estén ordenadas según el abecedario.

Ejercicio 3

Cogeremos el algoritmo del ejercicio 2 para ordenar una lista de palabras que se encuentre en un fichero. De modo que ordenaremos la lista de palabras por orden alfabético, lo mostraremos por pantalla y luego lo escribiremos en un fichero.

Ejercicio 4

Dadas dos listas de palabras, unificar dichas listas de manera ordenada y devolver el valor por pantalla y en un fichero.

Con estos ejercicios repasaremos la creación de funciones, bucles, sentencias condicionales y manejo de ficheros. Os voy a plantear un último ejercicio que será un reto, pero creo que os resultara útil. Se trata de resolver el problema de las torres de Hanói.

Este problema se plantea del siguiente modo:

Ejemplo de torres de Hanoi

Tendremos que llevar los discos de la primera torre a la última. Pero nunca puede haber un disco menor debajo de uno mayor, es decir los discos grandes siempre tienen que estar debajo de los pequeños.

Este es un problema que se suele resolver con llamadas recursivas. Es una técnica que no he explicado a lo largo del curso debido a que no es un recurso muy utilizado, pero que a veces resulta muy útil como en el caso de resolver el problema de las torres de Hanói.

Las llamadas recursivas son aquellas funciones que en su algoritmo, hacen referencia sí misma. Esto puede acarrear un problema y es que se quede la función en un bucle infinito, por lo que hay que dejar muy bien definido el método para que siempre tenga fin.

Un ejemplo de función recursiva sería el cálculo del número factorial de un número. Sabemos que para calcular el factorial de un número tenemos que hacer lo siguiente:

n!=1⋅2⋅…⋅n

De esta ecuación deducimos que:

n!=n⋅(n−1)!

Su algoritmo en python sería:

def factorial(num):

    if num == 0 or num == 1:
        return 1
    else:
        return num * factorial(num - 1)

Esto es todo por hoy, mucha suerte con los ejercicios y sobretodo con el último reto, en la próxima entrega os daré todas las soluciones. Estaros tranquilos que si algo no os sale, el mejor consejo que os puedo dar es que lo pintéis en papel primero, e intentéis reproducir el algoritmo a mano, una vez que veáis que puede ser el correcto lo empecéis a programar.

Últimos análisis

Valoración RZ
9
Valoración RZ
8
Valoración RZ
8
Valoración RZ
8
Valoración RZ
8
Valoración RZ
10
Valoración RZ
8