Ir al contenido principal

EJERCICIOS RESUELTOS PARA PRACTICAR EN PYTHON

En esta sección podrás encontrar una colección de ejercicios para practicar y dominar Python. Los primeros ejercicios serán los más sencillos y la dificultad irá en aumento a medida que avances. Podrás practicar con estructuras condicionales, bucles for, while, listas, etc. Hay un enlace a la solución en cada ejercicio. Lo mejor es que primero lo consigas por tu cuenta y después compruebes la solución si quieres compararla. En la mayoría de casos, existirán muchas soluciones válidas. Iré añadiendo ejercicios nuevos a esta página así que merece la pena echar un vistazo de vez en cuando.

Todo lo que necesitas es un editor de código, tener python instalado y crear un fichero .py para implementar las funciones. Todos los ejercicios siguen la misma estructura:

  1. Definición de la función. En el interior de la función escribes tu código para resolver el problema.
  2. Función main con llamadas para probar el resultado. Puedes utilizar el mismo fichero para todos los ejercicios, manteniendo una única función main en la que ir añadiendo las llamadas a las funciones para probarlas.
Si utilizas un mismo fichero .py para todos los ejercicios (opción más recomendable), basta con que vayas añadiendo cada función y mantengas un único método main que ejecutes al final del fichero.

Ejemplo:

def my_function():
    # Tu código
    return "Hola Mundo"

def main():
    # Función principal para las pruebas
    print(my_function())

main()

1. Retornar una cadena de texto

Implementa una función hola_mundo() que retorne el texto "Hola Mundo".

def hola_mundo():
    # Escribe aquí tu código
   

def main():
    # Función principal para las pruebas
    print(hola_mundo())

main()

Salida esperada en la consola: 

Hola Mundo

Solución

2. Sumar dos números

Implementa una función que reciba dos números y retorne el resultado de sumarlos.

Parámetros de entrada:
  1. num1: Primer sumando
  2. num2: Segundo sumando
def add(num1, num2):
    # Escribe aquí tu código

def main():
    # Función principal para las pruebas
    print(add(1, 1))
    print(add(2, 5))
    print(add(-10, 15))

main()

Salida esperada en la consola:

2
7
5

3. Convertir una cadena de texto a mayúsculas

Implementa una función que reciba una cadena de texto en minúsculas y la retorne en mayúsculas. 

Parámetros de entrada:
  1. text: Cadena de texto en minúsculas
Ejemplo de funcionamiento:
  1. Cadena de entrada: "hola mundo"
  2. Cadena resultante: "HOLA MUNDO"
def uppercase(text):
    # Escribe aquí tu código

def main():
    # Función principal para las pruebas
    print(uppercase("hola mundo"))

main()

Salida esperada en la consola

HOLA MUNDO

4. Comprobar si un número es par

Implementa una función que reciba un número y compruebe si es par.

Parámetros de entrada:
  1. number: Número cuya paridad debe ser comprobada

def is_even(number):
    # Escribe aquí tu código

def main():
    # Función principal para las pruebas
    print(is_even(5))
    print(is_even(2))
    print(is_even(264))
    print(is_even(5007))

main()

Salida esperada en la consola:

False
True
True
False

5. Comprobar si una lista es de longitud par

Implementa una función que reciba una lista y compruebe si tiene longitud par.

Parámetros de entrada:
  1. array: Array o lista para cuya longitud se debe comprobar si es par.

def list_size_even(array):
    # Escribe aquí tu código

def main():
    # Función principal para las pruebas
    print(list_size_even([1, 2, 3, 4]))
    print(list_size_even([1, 2, 3]))

main()

Salida esperada en la consola:

True
False

6. Encontrar números pares en una lista

Implementa una función que reciba una lista de números enteros y devuelva una nueva lista con los que sean pares.

Parámetros de entrada:
  1. array: Lista de números enteros cuyos números pares deben conformar la lista resultado de la función.
def find_even_numbers(array):
    # Escribe aquí tu código

def main():
    # Función principal para las pruebas
    print(find_even_numbers([1, 2, 3, 4, 5, 6]))
    print(find_even_numbers([1, 3, 5, 7, 9]))

Salida esperada en la consola:

[2, 4, 6]
[]

7. Cara o cruz

Implementa una función que aleatoriamente retorne "cara" o "cruz", con igual probabilidad. La idea es lograr un funcionamiento equivalente a lo que sería lanzar una moneda al aire.

Pista: En este caso puede ser útil importar la librería random.

def cara_o_cruz():
    # Escribe aquí tu código

def main():
    # Función principal para las pruebas
    print(cara_o_cruz())

main()

Salida esperada por consola: 

Texto "cara" o "cruz" indistintamente. Debería ser aleatorio al hacer intentos sucesivos.

8. Lista al cuadrado

Implementa una función que reciba una lista de números y eleve todos al cuadrado.

Parámetros de entrada:
  1. array: Lista de números.
Ejemplo de funcionamiento:
  1. Lista de entrada: [1, 2, 3, 4]
  2. Lista de salida: [1, 4, 9, 16]
def square_list(array):
    # Escribe aquí tu código

def main():
    # Función principal para las pruebas
    print(square_list([1, 2, 3, 4, 5]))
    print(square_list([2, 4, 7, 0]))

main()

Salida esperada por consola:

[1.0, 4.0, 9.0, 16.0, 25.0]
[4.0, 16.0, 49.0, 0.0]

9. Próximamente...

Comentarios

Entradas populares de este blog

Cómo crear proyectos y clases en Java con Eclipse.

Continuamos con Java y después de haber visto cómo instalar todo lo necesario para poder programar, vamos a ver, en esta publicación muy breve, cómo se crean los proyectos y las clases en Eclipse, paso fundamental para crear programas Java. Si todavía no has visto cómo instalar todo el software necesario, te dejo un enlace a las publicaciones donde lo explico. - Instalar Java. - Instalar el JDK. - Instalar Eclipse. Lo primero es crear el proyecto java. Para ello, estando dentro de Eclipse, hacemos clic en el botón indicado en la siguiente imagen. Se nos desplegará la siguiente ventana donde le damos nombre al proyecto en la primera casilla. No necesitaremos tocar ninguna otra opción. Hacemos clic en "Finish" y ya estará creado el proyecto. Nos aparecerá el proyecto en forma de carpeta en la ventana de la izquierda del programa "Package Explorer". Lo siguiente será crear una clase. Para ello hacemos clic derecho sobre la carpeta del proyect...

Generación procedimental desde 0 con Python

Los mundos procedimentales aparecen en númerosos videojuegos de bastante éxito, pero probablemente el ejemplo más emblemático sea Minecraft. En español, es habitual llamarlos procedurales como consecuencia de un error de traducción, pues viene del inglés "procedural", derivado de "procedure". Esta palabra, traducida al español, significa "procedimiento". ¿Por qué estoy llenando texto con comentarios sobre rigor lingüistico cuando lo único que quiere el lector es saber cómo crear mundos de forma automática? Pues porque la palabra "procedimiento" ya nos va aclarando de qué va este tema de la generación mágica y aleatoria. La generación procedimental se basa en un algoritmo (o procedimiento) que automatiza las reglas que un computador debe seguir a la hora de crear un mundo virtual. Esta técnica no se limita a mundos en videojuegos, se puede automatizar la generación computacional de prácticamente cualquier cosa: modelos 3D, personajes, animaciones,...