Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Desafío: hora de practicar

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.

  1. 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}.")
  1. 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)
  1. 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))
  1. 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)
  1. 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)}")
  1. 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))
  1. 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)
  1. 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}%")
  1. 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.")
  1. 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)
1 respuesta

Hola,
Gracias por compartir tu código con nosotros. Recuerda que estamos aquí para ayudarte. Si necesitas ayuda, no dudes en buscarnos en el foro.
¡Gracias nuevamente!
Saludos,

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!