Skip to main content

Ejercicios

Ejercicio: Registro de Información Personal

En este ejercicio, se solicita crear un programa en Python que utilice tuplas para almacenar información personal de individuos. Cada individuo estará representado por una tupla con los siguientes datos: nombre, edad, ciudad de residencia y profesión.

  1. Crea una lista llamada personas que contenga al menos 5 tuplas, cada una representando a una persona con información diferente.

  2. Imprime la información de todas las personas en un formato legible, mostrando cada atributo por separado en líneas distintas.

  3. Solicita al usuario que ingrese la información de una nueva persona (nombre, edad, ciudad y profesión) y agrégala a la lista personas.

  4. Imprime nuevamente la información de todas las personas actualizada.

  5. Utiliza la función sorted para ordenar la lista personas según la edad de cada individuo de manera ascendente.

  6. Imprime la información de todas las personas después de la ordenación por edad.

Nota:

  • Asegurarse de manejar adecuadamente la entrada del usuario para evitar errores durante la ejecución del programa.
  • Se puede utilizar el formato de cadena f (f-string) para facilitar la impresión de la información de cada persona.
  • No es necesario utilizar funciones en este ejercicio.
# Solución

lista_personas = [
("Ana", 28, "Santa Ana", "Ingeniera"),
("Carlos", 35, "Heredia", "Abogado"),
("María", 22, "San José", "Estudiante"),
("Luis", 40, "Cartago", "Doctor"),
("Elena", 30, "San José", "Diseñadora")
]


for persona in lista_personas:
nombre = persona[0]
edad = persona[1]
ciudad = persona[2]
profesion = persona[3]
print(f"Nombre: {nombre}")
print(f"Edad: {edad}")
print(f"Ciudad: {ciudad}")
print(f"Profesión: {profesion}")
print("-" * 20)


# Solicitar al usuario que ingrese información de una nueva persona
nuevo_nombre = input("Ingrese el nombre de la nueva persona: ")
nueva_edad = int(input("Ingrese la edad de la nueva persona: "))
nueva_ciudad = input("Ingrese la ciudad de residencia de la nueva persona: ")
nueva_profesion = input("Ingrese la profesión de la nueva persona: ")

# Agregar la nueva persona a la lista
datos_nueva_persona = (nuevo_nombre, nueva_edad, nueva_ciudad, nueva_profesion)
lista_personas.append(datos_nueva_persona)

# Imprimir la información actualizada de todas las personas
print()
print()
for persona in lista_personas:
nombre = persona[0]
edad = persona[1]
ciudad = persona[2]
profesion = persona[3]
print(f"Nombre: {nombre}")
print(f"Edad: {edad}")
print(f"Ciudad: {ciudad}")
print(f"Profesión: {profesion}")
print("-" * 20)


# Ordenar las personas por edad
ultima_edad_registada = -1
lista_ordenada_personas = []
for persona in lista_personas:
if persona[1] > ultima_edad_registada:
lista_ordenada_personas.append(persona)
else:
lista_ordenada_personas = [persona] + lista_ordenada_personas
#lista_ordenada_personas.insert(0, persona) # Equivalente

# Imprimir la información actualizada de todas las personas
print()
print()
for persona_ordenada in lista_ordenada_personas:
nombre = persona_ordenada[0]
edad = persona_ordenada[1]
ciudad = persona_ordenada[2]
profesion = persona_ordenada[3]
print(f"Nombre: {nombre}")
print(f"Edad: {edad}")
print(f"Ciudad: {ciudad}")
print(f"Profesión: {profesion}")
print("-" * 20)


Ejercicio: Control de Inventario con Tuplas

En este ejercicio, se te pide desarrollar un programa en Python que utilice tuplas para gestionar el inventario de productos en una tienda. Cada producto estará representado por una tupla con los siguientes datos: nombre del producto, precio unitario y cantidad disponible en el inventario.

  1. Crea una lista llamada inventario que contenga al menos 5 tuplas, cada una representando un producto con información diferente.

  2. Imprime la información de todos los productos en el inventario en un formato legible, mostrando cada atributo por separado en líneas distintas.

  3. Pide al usuario que ingrese la información de un nuevo producto (nombre, precio y cantidad) y agrégalo a la lista inventario.

  4. Imprime nuevamente la información de todos los productos en el inventario después de la actualización.

  5. Utiliza un bucle for para calcular el valor total del inventario multiplicando el precio unitario por la cantidad disponible para cada producto y sumando estos valores.

  6. Imprime el valor total del inventario.

Nota:

  • Asegúrate de manejar adecuadamente la entrada del usuario para evitar errores durante la ejecución del programa.
  • Puedes utilizar el formato de cadena f (f-string) para facilitar la impresión de la información de cada producto y del valor total del inventario.
  • No es necesario utilizar funciones en este ejercicio.

# Solución

lista_inventario = [
("Laptop", 1200.00, 10),
("Teléfono", 600.00, 15),
("Tablet", 300.00, 20),
("Monitor", 150.00, 12),
("Teclado", 25.00, 50)
]


for producto in lista_inventario:
nombre = producto[0]
precio = producto[1]
cantidad = producto[2]

print(f"Nombre: {nombre}")
print(f"Precio: ${precio:.2f}")
print(f"Cantidad: {cantidad}")
print("-" * 20)

# Solicitar al usuario que ingrese información de un nuevo producto
nuevo_nombre = input("Ingrese el nombre del nuevo producto: ")
nuevo_precio = float(input("Ingrese el precio del nuevo producto: "))
nueva_cantidad = int(input("Ingrese la cantidad del nuevo producto: "))

# Agregar el nuevo producto al inventario
nuevo_producto = (nuevo_nombre, nuevo_precio, nueva_cantidad)
lista_inventario.append(nuevo_producto)

# Imprimir la información actualizada del inventario
for producto in lista_inventario:
nombre = producto[0]
precio = producto[1]
cantidad = producto[2]

print(f"Nombre: {nombre}")
print(f"Precio: ${precio:.2f}")
print(f"Cantidad: {cantidad}")
print("-" * 20)


# Calcular el valor total del inventario
valor_total_inventario = 0
for producto in lista_inventario:
precio = producto[1]
cantidad = producto[2]
valor_total_inventario += precio * cantidad

# Imprimir el valor total del inventario
print()
print()
print(f"El valor total del inventario es: ${valor_total_inventario:,.2f}")

Ejercicio: Registro de Temperaturas Mensuales

En este ejercicio, se te pide desarrollar un programa en Python que utilice listas para registrar y analizar las temperaturas mensuales en una ciudad. Cada elemento de la lista representará la temperatura promedio de un mes del año.

  1. Crea una lista llamada temperaturas que contenga las temperaturas promedio de cada mes del año actual, desde enero hasta diciembre.

  2. Imprime la lista de temperaturas en un formato legible, mostrando cada temperatura en una línea distinta.

  3. Calcula y muestra la temperatura promedio anual utilizando la función sum y dividiendo el resultado por la cantidad de meses.

  4. Utiliza la función max para encontrar la temperatura máxima registrada durante el año y muestra el mes correspondiente.

  5. Utiliza la función min para encontrar la temperatura mínima registrada durante el año y muestra el mes correspondiente.

  6. Pide al usuario que ingrese la temperatura promedio de un nuevo mes y agrégala a la lista temperaturas.

  7. Imprime la lista de temperaturas actualizada.

Nota:

  • Asegúrate de manejar adecuadamente la entrada del usuario para evitar errores durante la ejecución del programa.
  • Puedes utilizar el formato de cadena f (f-string) para facilitar la impresión de la información.
  • No es necesario utilizar funciones en este ejercicio.
# Solución

# Lista de temperaturas promedio de cada mes (de enero a diciembre)
temperaturas = [5.5, 7.8, 12.3, 15.0, 18.2, 22.5, 25.3, 24.7, 21.5, 16.0, 10.2, 6.8]

# Imprimir la lista de temperaturas en un formato legible
print("Temperaturas promedio de cada mes:")
meses = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio",
"Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"]
for i in range(0, len(temperaturas)):
print(f"{meses[i]}: {temperaturas[i]}°C")

# Calcular y mostrar la temperatura promedio anual
print()
print()
promedio_anual = sum(temperaturas) / len(temperaturas)
print(f"Temperatura promedio anual: {promedio_anual:.2f}°C")

# Encontrar y mostrar la temperatura máxima y el mes correspondiente
print()
print()
max_temp = max(temperaturas)
mes_max = meses[temperaturas.index(max_temp)]
print(f"La temperatura máxima registrada fue en {mes_max} con {max_temp}°C")

# Encontrar y mostrar la temperatura mínima y el mes correspondiente
print()
print()
min_temp = min(temperaturas)
mes_min = meses[temperaturas.index(min_temp)]
print(f"La temperatura mínima registrada fue en {mes_min} con {min_temp}°C")

# Solicitar al usuario que ingrese la temperatura promedio de un nuevo mes
nueva_temp = float(input("Ingrese la temperatura promedio de un nuevo mes: "))

# Agregar la nueva temperatura a la lista
temperaturas.append(nueva_temp)

# Imprimir la lista de temperaturas actualizada
print()
print()
print("Lista actualizada de temperaturas:")
for temp in temperaturas:
print(f"{temp}°C")


Ejercicio: Gestión de Notas Escolares

En este ejercicio, se solicita crear un programa en Python que utilice listas para gestionar las notas escolares de un grupo de estudiantes. Cada estudiante estará representado por una lista con su nombre y una lista de notas obtenidas en diferentes asignaturas.

  1. Crea una lista llamada estudiantes que contenga al menos 3 listas. Cada lista representará a un estudiante con su nombre como primer elemento y una lista de notas (números enteros) como segundo elemento.

  2. Imprime la información de todos los estudiantes en un formato legible, mostrando el nombre y las notas de cada estudiante.

  3. Calcula y muestra el promedio de notas para cada estudiante utilizando un bucle for.

  4. Utiliza la función max para encontrar la nota más alta registrada entre todos los estudiantes y muestra el nombre del estudiante correspondiente.

  5. Utiliza la función min para encontrar la nota más baja registrada entre todos los estudiantes y muestra el nombre del estudiante correspondiente.

  6. Pide al usuario que ingrese las notas de un nuevo estudiante (nombre y lista de notas) y agrégalo a la lista estudiantes.

  7. Imprime la lista de estudiantes actualizada.

Nota:

  • Asegúrate de manejar adecuadamente la entrada del usuario para evitar errores durante la ejecución del programa.
  • Puedes utilizar el formato de cadena f (f-string) para facilitar la impresión de la información.
  • No es necesario utilizar funciones en este ejercicio.

# Solución
# Lista de estudiantes, cada uno con su nombre y lista de notas
estudiantes = [
["Juan", [85, 90, 78]],
["María", [92, 88, 95]],
["Carlos", [75, 80, 85]]
]

# Imprimir la información de todos los estudiantes
print("Información de los estudiantes:")
for estudiante in estudiantes:

nombre = estudiante[0]
notas = estudiante[1]

print(f"Nombre: {nombre}")
print(f"Notas: {notas}")
print("-" * 20)

# Calcular y mostrar el promedio de notas para cada estudiante
print()
print("Promedio de notas por estudiante:")
for estudiante in estudiantes:

nombre = estudiante[0]
notas = estudiante[1]

promedio = sum(notas) / len(notas)
print(f"{nombre}: {promedio:.2f}")


# Encontrar la nota más alta y el nombre del estudiante correspondiente

nota_max = -1
nombre_estudiante_mejor_nota = None
for estudiante in estudiantes:

nombre = estudiante[0]
notas = estudiante[1]

# Obtenemos la mejor nota del estudiante
mejor_nota = max(notas)
if mejor_nota > nota_max:
nota_max = mejor_nota
nombre_estudiante_mejor_nota = nombre


print()
print(f"La nota más alta registrada es {nota_max}, obtenida por {nombre_estudiante_mejor_nota}.")

# Encontrar la nota más baja y el nombre del estudiante correspondiente

nota_min = -1
nombre_estudiante_peor_nota = None
for estudiante in estudiantes:

nombre = estudiante[0]
notas = estudiante[1]

# Obtenemos la peor nota del estudiante
peor_nota = min(notas)

if nota_min == -1:
nombre_estudiante_peor_nota = nombre
nota_min = peor_nota
continue


if peor_nota < nota_min:
nota_min = peor_nota
nombre_estudiante_peor_nota = nombre

print()
print(f"La nota más baja registrada es {nota_min}, obtenida por {nombre_estudiante_peor_nota}.")

# Solicitar al usuario que ingrese las notas de un nuevo estudiante
nuevo_nombre = input("\nIngrese el nombre del nuevo estudiante: ")
nota1 = int(input("Ingrese la primera nota del estudiante: "))
nota2 = int(input("Ingrese la segunda nota del estudiante: "))
nota3 = int(input("Ingrese la tercera nota del estudiante: "))

# Agregar el nuevo estudiante a la lista
nuevo_estudiante = [
nuevo_nombre,
(nota1, nota2, nota3)
]
estudiantes.append(nuevo_estudiante)

# Imprimir la lista de estudiantes actualizada
print("Lista actualizada de estudiantes:")
for estudiante in estudiantes:
nombre, notas = estudiante
print(f"Nombre: {nombre}")
print(f"Notas: {notas}")
print("-" * 20)

Ejercicio: Registro de Contactos

En este ejercicio, se te pide desarrollar un programa en Python que utilice diccionarios para gestionar la información de contactos. Cada contacto estará representado por un diccionario con los siguientes datos: nombre, número de teléfono y dirección de correo electrónico.

  1. Crea un diccionario llamado agenda que contenga al menos 3 contactos. Cada contacto debe ser un diccionario con el nombre como clave y un diccionario interno con el número de teléfono y la dirección de correo electrónico como valores.

  2. Imprime la información de todos los contactos en un formato legible, mostrando el nombre, número de teléfono y dirección de correo electrónico de cada contacto.

  3. Pide al usuario que ingrese la información de un nuevo contacto (nombre, número de teléfono y dirección de correo electrónico) y agrégalo al diccionario agenda.

  4. Imprime nuevamente la información de todos los contactos después de la actualización.

  5. Permite al usuario buscar un contacto por su nombre. Si el nombre está en la agenda, muestra toda la información asociada; de lo contrario, imprime un mensaje indicando que el contacto no se encuentra registrado.

  6. Pide al usuario que ingrese el nombre de un contacto y utiliza la palabra clave del para eliminar ese contacto de la agenda.

  7. Imprime la información actualizada de todos los contactos.

Nota:

  • Asegúrate de manejar adecuadamente la entrada del usuario para evitar errores durante la ejecución del programa.
  • Puedes utilizar el formato de cadena f (f-string) para facilitar la impresión de la información.
  • No es necesario utilizar funciones en este ejercicio.

Ejercicio: Registro de Libros en una Biblioteca

En este ejercicio, se solicita crear un programa en Python que utilice diccionarios para gestionar la información de libros en una biblioteca. Cada libro estará representado por un diccionario con los siguientes datos: título, autor, año de publicación y cantidad de ejemplares disponibles.

  1. Crea un diccionario llamado biblioteca que contenga al menos 3 libros. Cada libro debe ser un diccionario con el título como clave y un diccionario interno con el autor, año de publicación y cantidad de ejemplares como valores.

  2. Imprime la información de todos los libros en un formato legible, mostrando el título, autor, año de publicación y cantidad de ejemplares de cada libro.

  3. Pide al usuario que ingrese la información de un nuevo libro (título, autor, año de publicación y cantidad de ejemplares) y agrégalo al diccionario biblioteca.

  4. Imprime nuevamente la información de todos los libros después de la actualización.

  5. Permite al usuario buscar un libro por su título. Si el título está en la biblioteca, muestra toda la información asociada; de lo contrario, imprime un mensaje indicando que el libro no se encuentra registrado.

  6. Pide al usuario que ingrese el título de un libro y utiliza la palabra clave del para eliminar ese libro de la biblioteca.

  7. Imprime la información actualizada de todos los libros.

Nota:

  • Asegúrate de manejar adecuadamente la entrada del usuario para evitar errores durante la ejecución del programa.
  • Puedes utilizar el formato de cadena f (f-string) para facilitar la impresión de la información.
  • No es necesario utilizar funciones en este ejercicio.