Me permitió aplicar funciones, estructuras de control, lambda, map, filter y buenas prácticas como documentación y tipado. Cada ejercicio representó un reto diferente, desde cálculos simples hasta simulaciones reales como análisis de rendimiento deportivo o gastos de viaje. Me gustó especialmente cómo se puede combinar claridad en el código con eficiencia.
- Análisis de lista
lista = [16, 14, 63, 65, 17, 99, 70, 11, 20, 48, 79, 32, 17, 89, 12, 25, 66]
tamano = len(lista)
mayor = max(lista)
menor = min(lista)
suma = sum(lista)
print(f"La lista tiene {tamano} números, donde el mayor es {mayor} y el menor es {menor}. La suma de los valores es {suma}.")
- Tabla de multiplicar
def tabla_multiplicar(n: int):
print(f"Tabla del {n}:")
for i in range(11):
print(f"{n} x {i} = {n * i}")
# Ejemplo
tabla_multiplicar(7)
- Múltiplos de 3
def multiplos_de_3(lista: list) -> list:
return [x for x in lista if x % 3 == 0]
numeros = [97, 80, 94, 88, 80, 1, 16, 53, 62, 32, 24, 99]
print(multiplos_de_3(numeros))
- Cuadrados con lambda y map
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
cuadrados = list(map(lambda x: x**2, numeros))
print(cuadrados)
- Puntuación de skaters
notas = [float(input(f"Ingrese la nota {i+1}: ")) for i in range(5)]
promedio = sum(notas) / len(notas)
print(f"La puntuación del atleta es: {round(promedio, 2)}")
- Análisis de notas
def boletin(notas: list) -> str:
mayor = max(notas)
menor = min(notas)
media = round(sum(notas) / len(notas), 2)
situacion = "Aprobado(a)" if media >= 7 else "Reprobado(a)"
return f"El estudiante obtuvo una media de {media}, con la mayor nota de {mayor} puntos y la menor nota de {menor} puntos y fue {situacion}."
# Ejemplo
notas = [8.5, 6.0, 9.0, 7.5]
print(boletin(notas))
- Nombres completos normalizados
nombres = ["juan", "MaRia", "JOSÉ"]
apellidos = ["SILVA", "sosa", "Tavares"]
nombres_completos = list(map(lambda n, a: f"{n.capitalize()} {a.capitalize()}", nombres, apellidos))
print(nombres_completos)
- Puntos y rendimiento del equipo
def calcula_puntos(goles_marcados: list, goles_recibidos: list):
puntos = 0
for gm, gr in zip(goles_marcados, goles_recibidos):
if gm > gr:
puntos += 3
elif gm == gr:
puntos += 1
max_puntos = len(goles_marcados) * 3
rendimiento = round((puntos / max_puntos) * 100, 2)
return puntos, rendimiento
goles_marcados = [2, 1, 3, 1, 0]
goles_recibidos = [1, 2, 2, 1, 3]
puntos, desempeno = calcula_puntos(goles_marcados, goles_recibidos)
print(f"La puntuación del equipo fue {puntos} y su rendimiento fue {desempeno}%")
- Cálculo de gastos de viaje
def gasto_hotel(dias: int) -> int:
return dias * 150
def gasto_gasolina(distancia: int) -> float:
km_totales = distancia * 2
litros = km_totales / 14
return litros * 5
def gasto_paseo(dias: int, ciudad: str) -> int:
gastos_diarios = {"Salvador": 200, "Fortaleza": 400, "Natal": 250, "Aracaju": 300}
return dias * gastos_diarios[ciudad]
# Simulación: 3 días en Salvador
dias = 3
ciudad = "Salvador"
distancias = {"Salvador": 850, "Fortaleza": 800, "Natal": 300, "Aracaju": 550}
total = gasto_hotel(dias) + gasto_gasolina(distancias[ciudad]) + gasto_paseo(dias, ciudad)
print(f"Con base en los gastos definidos, un viaje de {dias} días a {ciudad} desde Recife costaría {round(total, 2)} reales.")
- Filtrar palabras con 5 o más letras
frase = "Aprender Python aquí en Alura es muy bueno"
frase_limpia = frase.replace(",", " ").replace(".", " ").replace("!", " ").replace("?", " ")
palabras = frase_limpia.split()
largas = list(filter(lambda x: len(x) >= 5, palabras))
print(largas)