1.12 – Batería de ejercicios (Con soluciones)

Este conjunto de ejercicios en Python está organizado por bloques temáticos, y cubre los fundamentos del lenguaje de forma progresiva. Se incluyen:

Impresión y variables: primeros pasos con print(), declaración de variables, tipos básicos (enteros, float, booleanos, cadenas).

Funciones: creación de funciones con parámetros y valores de retorno, uso de funciones para modularizar código.

Condicionales: uso de ifelif y else para tomar decisiones en base a condiciones.

Bucles: implementación de bucles for y while para repetición de instrucciones.

Colecciones: manejo de listas, tuplas, conjuntos y diccionarios. Acceso, modificación y recorrido.

Archivos: lectura y escritura de archivos de texto utilizando open(), y comprensión básica de flujos de datos.

Entrada de datos: uso de input() para interactuar con el usuario.

Estos ejercicios están diseñados para estudiantes que se están iniciando en la programación, y cada script representa un problema o concepto básico resuelto de manera clara y concisa.

Variables

Ejercicio 1: Crea tres variables: una que guarde tu nombre, otra tu edad, y otra tu ciudad. Imprime los valores con un mensaje como:
«Hola, mi nombre es [nombre], tengo [edad] años y vivo en [ciudad].»

Ejercicio 2: Declara una variable con tu edad. Luego usa esta variable para calcular cuántos días, horas y minutos has vivido (aproximadamente).

    Ejemplo:
    Días: edad * 365
    Horas: días * 24
    Minutos: horas * 60

Ejercicio 3: Escribe un programa que pida al usuario su nombre y su comida favorita. Luego imprime un mensaje como:
«Hola [nombre], me alegra saber que te gusta [comida favorita].»

Ejercicio 4: Declara una variable de cada tipo:

  • Un número entero (int), por ejemplo, 42.
  • Un número decimal (float), por ejemplo, 3.14.
  • Una cadena de texto (str), por ejemplo, «Hola».
  • Un valor booleano (bool), por ejemplo, True.
  • Imprime el valor y el tipo de cada variable con type().

Condicionales

Bloque 1: Introducción al uso de if

  1. Ejercicio 1:
    Pide al usuario un número. Si el número es mayor que 10, imprime:
    "El número es mayor que 10."
    Si no, no hagas nada.
  2. Ejercicio 2:
    Pide al usuario su edad. Si tiene 18 años o más, imprime:
    "Eres mayor de edad."
    Si tiene menos de 18, imprime:
    "Eres menor de edad."
  3. Ejercicio 3:
    Declara una variable con un número cualquiera. Si el número es positivo, imprime:
    "El número es positivo."
    Si el número es negativo, imprime:
    "El número es negativo."
    Si el número es 0, imprime:
    "El número es cero."

Bloque 2: Operadores Comparativos

  1. Ejercicio 4:
    Pide al usuario dos números. Usa condicionales para imprimir:
    • "El primer número es mayor que el segundo."
    • "El segundo número es mayor que el primero."
    • "Ambos números son iguales."
  2. Ejercicio 5:
    Pide al usuario un número. Si el número está entre 1 y 100 (inclusive), imprime:
    "El número está dentro del rango."
    Si no, imprime:
    "El número está fuera del rango."

Bloque 3: Uso de Condiciones Anidadas

  1. Ejercicio 6:
    Pide al usuario una letra. Si la letra es una vocal (a, e, i, o, u), imprime:
    "Es una vocal."
    Si no, imprime:
    "No es una vocal."
  2. Ejercicio 7:
    Pide al usuario un número del 1 al 7 y muestra el día de la semana correspondiente:
    • 1: Lunes
    • 2: Martes
    • 7: Domingo
      Si el número no está entre 1 y 7, imprime:
      "Número fuera de rango."

Bloque 4: Problemas de Aplicación

  1. Ejercicio 8:
    Pide al usuario una contraseña y verifica si es igual a "secreto123". Si es correcta, imprime:
    "Acceso concedido."
    Si no, imprime:
    "Contraseña incorrecta."
  2. Ejercicio 9:
    Pide al usuario una temperatura en grados Celsius. Si la temperatura es:
    • Mayor o igual a 30: imprime "Hace calor."
    • Entre 10 y 29: imprime "El clima es templado."
    • Menor a 10: imprime "Hace frío."
  3. Ejercicio 10:
    Pide al usuario el precio de un producto. Si el precio es mayor a 1000, aplica un descuento del 10% y muestra el precio final. Si no, muestra el precio sin descuento.

Bucles


Bloque 1: Iterar sobre listas

  1. Dada una lista de números, calcula la suma de todos los elementos.numeros = [1, 2, 3, 4, 5]
  2. Dada una lista de nombres, imprime cada nombre en mayúsculas.nombres = ["ana", "luis", "carlos"]
  3. Crea una nueva lista que contenga solo los números pares de una lista dada.numeros = [10, 15, 20, 25, 30]

Bloque 2: Iterar sobre diccionarios

  1. Dado un diccionario de productos y precios, imprime cada producto junto con su precio.productos = {"manzana": 1.5, "banana": 0.8, "leche": 2.3}
  2. Encuentra la suma total de los precios de los productos.
  3. Crea una lista de productos cuyo precio sea mayor que un valor dado (por ejemplo, 1.0).

Bloque 3: Iterar sobre cadenas

  1. Dada una cadena, cuenta cuántas vocales contiene.cadena = "Python es genial"
  2. Invierte una cadena usando un bucle.cadena = "Hola Mundo"
  3. Elimina los espacios de una cadena y genera una nueva sin ellos.cadena = "Hola a todos"

Bloque 4: Iterar con índices (range y enumerate)

  1. Usa range para imprimir los números del 1 al 10.# Salida esperada: 1, 2, ..., 10
  2. Usa range para generar una tabla de multiplicar (por ejemplo, la tabla del 5).numero = 5
  3. Usa enumerate para imprimir el índice y el valor de cada elemento en una lista.frutas = ["manzana", "banana", "pera"]

Bloque 5: Bucle controlado por condición while

  1. Imprime los números del 1 al 10 usando un bucle while.
  2. Solicita al usuario números hasta que introduzca un 0, luego calcula la suma de los números ingresados.
  3. Dado un número, encuentra su factorial usando un bucle while.numero = 5

Bloque 6: Bucle infinito controlado con break

  1. Simula una contraseña: solicita al usuario que introduzca una contraseña correcta hasta que lo haga bien.contrasena_correcta = "python123"
  2. Genera números aleatorios entre 1 y 10 hasta que se genere un número mayor que 8.import random
  3. Crea un programa que permita al usuario adivinar un número secreto entre 1 y 20. Termina cuando el usuario lo adivine o escriba «salir».

Funciones

  1. Ejercicio 1: Función de resta
    • Define una función llamada restar que acepte dos parámetros y devuelva su diferencia.
    • Prueba la función con diferentes valores.
  2. Ejercicio 2: Función de saludo personalizado
    • Define una función llamada saludo_personalizado que acepte dos parámetros: nombre y edad.
    • La función debe imprimir un mensaje como «Hola, [nombre]. Tienes [edad] años.»
    • Prueba la función con diferentes valores.
  3. Ejercicio 3: Función de multiplicación
    • Define una función llamada multiplicar que acepte dos parámetros y devuelva su producto.
    • Prueba la función con diferentes valores.
  4. Ejercicio 4: Función de número par o impar
    • Define una función llamada es_par que acepte un número y devuelva True si el número es par y False si es impar.
    • Prueba la función con diferentes valores.
  5. Ejercicio 5: Función con parámetros por defecto
    • Define una función llamada saludar_con_titulo que acepte dos parámetros: nombre y titulo, con un valor por defecto para titulo.
    • La función debe imprimir un mensaje como «Hola, [titulo] [nombre].»
    • Prueba la función con y sin el parámetro titulo.
  6. Ejercicio 6: Función con *args
    • Define una función llamada promedio que acepte una cantidad arbitraria de números y devuelva su promedio.
    • Prueba la función con diferentes cantidades de argumentos.
  7. Ejercicio 7: Función con **kwargs
    • Define una función llamada imprimir_detalles que acepte una cantidad arbitraria de parámetros con nombre y los imprima en formato clave-valor.
    • Prueba la función con diferentes conjuntos de parámetros.

Trabajando con Archivos

  1. Lectura de contenido: Crea un programa que lea el contenido de un archivo llamado notas.txt y lo imprima en la consola.
  2. Contar líneas: Escribe un programa que cuente cuántas líneas tiene un archivo de texto llamado poema.txt.
  3. Buscar palabra: Diseña un programa que busque una palabra dada por el usuario dentro de un archivo llamado articulo.txt e indique cuántas veces aparece.
  4. Escritura de lista: Escribe un programa que tome una lista de nombres y los guarde en un archivo llamado nombres.txt, un nombre por línea.
  5. Copiar contenido: Implementa un programa que copie el contenido de un archivo llamado origen.txt a un archivo llamado destino.txt.

Descarga solución de los ejercicios.

En programamación un solución puede tener multiples soluciones, mas tratandose de un lenguaje tan dinámico como Python. En el siguieten archivo encotraras una de esas posibilidades, pero recuerda que no por eso tu planteamiento para resolverlo sería incorrecto.