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.
-
Crea una lista llamada
personas
que contenga al menos 5 tuplas, cada una representando a una persona con información diferente. -
Imprime la información de todas las personas en un formato legible, mostrando cada atributo por separado en líneas distintas.
-
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
. -
Imprime nuevamente la información de todas las personas actualizada.
-
Utiliza la función
sorted
para ordenar la listapersonas
según la edad de cada individuo de manera ascendente. -
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.
-
Crea una lista llamada
inventario
que contenga al menos 5 tuplas, cada una representando un producto con información diferente. -
Imprime la información de todos los productos en el inventario en un formato legible, mostrando cada atributo por separado en líneas distintas.
-
Pide al usuario que ingrese la información de un nuevo producto (nombre, precio y cantidad) y agrégalo a la lista
inventario
. -
Imprime nuevamente la información de todos los productos en el inventario después de la actualización.
-
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. -
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.
-
Crea una lista llamada
temperaturas
que contenga las temperaturas promedio de cada mes del año actual, desde enero hasta diciembre. -
Imprime la lista de temperaturas en un formato legible, mostrando cada temperatura en una línea distinta.
-
Calcula y muestra la temperatura promedio anual utilizando la función
sum
y dividiendo el resultado por la cantidad de meses. -
Utiliza la función
max
para encontrar la temperatura máxima registrada durante el año y muestra el mes correspondiente. -
Utiliza la función
min
para encontrar la temperatura mínima registrada durante el año y muestra el mes correspondiente. -
Pide al usuario que ingrese la temperatura promedio de un nuevo mes y agrégala a la lista
temperaturas
. -
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.
-
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. -
Imprime la información de todos los estudiantes en un formato legible, mostrando el nombre y las notas de cada estudiante.
-
Calcula y muestra el promedio de notas para cada estudiante utilizando un bucle
for
. -
Utiliza la función
max
para encontrar la nota más alta registrada entre todos los estudiantes y muestra el nombre del estudiante correspondiente. -
Utiliza la función
min
para encontrar la nota más baja registrada entre todos los estudiantes y muestra el nombre del estudiante correspondiente. -
Pide al usuario que ingrese las notas de un nuevo estudiante (nombre y lista de notas) y agrégalo a la lista
estudiantes
. -
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.
-
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. -
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.
-
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
. -
Imprime nuevamente la información de todos los contactos después de la actualización.
-
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. -
Pide al usuario que ingrese el nombre de un contacto y utiliza la palabra clave
del
para eliminar ese contacto de laagenda
. -
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.
-
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. -
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.
-
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
. -
Imprime nuevamente la información de todos los libros después de la actualización.
-
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. -
Pide al usuario que ingrese el título de un libro y utiliza la palabra clave
del
para eliminar ese libro de labiblioteca
. -
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.