Pon en práctica todo lo aprendido y fortalece tus habilidades
🎯 Desafío de la Clase
Completa todos los ejercicios para dominar las funciones en Python. Cada ejercicio te ayudará a entender mejor cómo crear y usar funciones efectivamente.
🐙 Recuerda: Sube todos tus ejercicios a GitHub para seguir practicando el uso de esta herramienta y llevar un registro de tu progreso.
📝 Lista de Ejercicios
Fácil
1. Clase Persona Simple
Crea una clase Persona con los atributos nombre y edad. Instancia dos personas y muestra sus datos.
class Persona: def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
p = Producto("Mouse", 10, 5)
p.vender(2)
p.reponer(3)
p.mostrar_info()
Medio
7. Constructor con Validación
Crea una clase Libro cuyo constructor valide que el número de páginas y el precio no sean negativos. Lanza un ValueError si no se cumple.
class Libro: def __init__(self, titulo, paginas, precio):
if paginas < 0 or precio < 0:
raise ValueError("Páginas y precio no pueden ser negativos")
self.titulo = titulo
self.paginas = paginas
self.precio = precio
l = Libro("Python", 200, 25)
print(l.titulo, l.paginas, l.precio)
Medio
8. Valores por Defecto
Haz que la clase Libro permita crear libros con o sin precio y páginas (por defecto: 100 páginas, precio 0.0).
class Libro: def __init__(self, titulo, autor, paginas=100, precio=0.0):
self.titulo = titulo
self.autor = autor
self.paginas = paginas
self.precio = precio
Implementa un sistema con clases Libro, Usuario y Biblioteca. Permite prestar y devolver libros, controlar el stock y mostrar los libros prestados a cada usuario.
class Libro: def __init__(self, titulo, stock):
self.titulo = titulo
self.stock = stock
class Usuario: def __init__(self, nombre):
self.nombre = nombre
self.prestados = []
class Biblioteca: def __init__(self):
self.libros = [] def agregar_libro(self, libro):
self.libros.append(libro) def prestar(self, libro, usuario):
if libro.stock > 0:
libro.stock -= 1
usuario.prestados.append(libro) def devolver(self, libro, usuario):
if libro in usuario.prestados:
libro.stock += 1
usuario.prestados.remove(libro) def mostrar_prestados(self, usuario):
for libro in usuario.prestados:
print(libro.titulo)
b = Biblioteca()
l1 = Libro("Python", 2)
l2 = Libro("AI", 1)
b.agregar_libro(l1)
b.agregar_libro(l2)
u = Usuario("Ana")
b.prestar(l1, u)
b.mostrar_prestados(u)
🏆 Desafío Final
¡Pon a prueba todos tus conocimientos con este desafío integrador!
Difícil
Desafío: Sistema de Calificaciones
Crea un programa que calcule el promedio de calificaciones de un estudiante y determine su nivel de rendimiento.
Pide al estudiante que ingrese 5 calificaciones (0-100)
Calcula el promedio de las calificaciones
Determina el nivel de rendimiento según el promedio:
• 90-100: Excelente
• 80-89: Muy Bueno
• 70-79: Bueno
• 60-69: Regular
• 0-59: Necesita Mejorar
Muestra el promedio y el nivel de rendimiento
# Solución: Sistema de calificaciones# Pedir las 5 calificaciones
calificaciones = []
for i inrange(5):
calificacion = float(input(f"Ingresa la calificación {i+1}: "))
calificaciones.append(calificacion)
# Calcular promedio
promedio = sum(calificaciones) /len(calificaciones)
# Determinar nivel de rendimientoif promedio >=90:
nivel = "Excelente"elif promedio >=80:
nivel = "Muy Bueno"elif promedio >=70:
nivel = "Bueno"elif promedio >=60:
nivel = "Regular"else:
nivel = "Necesita Mejorar"# Mostrar resultadosprint("Calificaciones:", calificaciones)
print("Promedio:", promedio)
print("Nivel de rendimiento:", nivel)
🎉 ¡Felicidades!
Has completado exitosamente los fundamentos básicos de Python. Estos ejercicios te han ayudado a:
Practicar el uso de variables y tipos de datos
Aplicar operadores aritméticos, de comparación y lógicos
Desarrollar lógica de programación
Resolver problemas prácticos con Python
Próximo paso: Estás listo para continuar con estructuras de datos más complejas, bucles y condicionales en las siguientes clases.