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...

El problema de las contraseñas y por qué es buena idea el doble factor de autenticación

Allá por la década de los 60, Fernando José Corbató, científico de computación del MIT, tuvo la idea de emplear contraseñas para proteger el acceso a archivos en ordenadores compartidos. Por aquel momento, el uso de ordenadores estaba bastante poco extendido y las primeras redes eran más bien parcelas independientes que conectaban unos cuantos equipos dentro de alguna que otra universidad. Nada que ver con Internet, cuya existencia, dimensión y alcance eran, por aquel momento, inimaginables para la mayoría. En el diseño de aquellos sistemas la seguridad no fue una prioridad. La mayoría de los ataques informáticos comenzaron a surgir varias décadas más tarde cuando los primeros PCs empezaron a estar al alcance de todo el mundo e Internet empezó a tomar forma. No se rompieron mucho la cabeza para pensar en diseñar sistemas seguros contra amenazas que aún no habían sido inventadas. Esos cimientos que se contruyeron con la seguridad como última prioridad son los mismos sobre los que se asi...