Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

[Proyecto] Sección 2 Estructura de Datos con Python

Sección 2 Estructura de Datos con Python

# 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}.")

# 2 - Tabla de multiplicar
def tabla_multiplicar(numero):
    print(f"Tabla del {numero}:")
    for i in range(11):
        print(f"{numero} x {i} = {numero * i}")

# tabla_multiplicar(7) # descomentar para probar

# 3 - Múltiplos de 3
def multiplos_de_tres(lista):
    return [x for x in lista if x % 3 == 0]

# print(multiplos_de_tres([97, 80, 94, 88, 80, 1, 16, 53, 62, 32, 24, 99]))

# 4 - Cuadrados usando lambda y map
lista = [1,2,3,4,5,6,7,8,9,10]
cuadrados = list(map(lambda x: x**2, lista))
print("Cuadrados:", cuadrados)

# 5 - Puntuación de skaters
def calcular_puntuacion():
    notas = []
    for i in range(5):
        nota = float(input(f"Ingrese la nota {i+1}: "))
        notas.append(nota)
    promedio = sum(notas) / len(notas)
    print(f"Puntuación promedio: {promedio}")

# 6 - Análisis de notas
def analizar_notas(notas):
    mayor = max(notas)
    menor = min(notas)
    media = sum(notas)/len(notas)
    situacion = "Aprobado(a)" if media >= 12 else "Reprobado(a)"
    print(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}.")

# analizar_notas([15, 10, 18, 12])

# 7 - Nombres completos normalizados
nombres = ["juan", "MaRia", "JOSÉ"]
apellidos = ["SILVA", "sosa", "Tavares"]
nombres_completos = list(map(lambda n, a: n.capitalize() + " " + a.capitalize(), nombres, apellidos))
print("Nombres completos:", nombres_completos)

# 8 - Calculadora de puntos en campeonato
def calcula_puntos(goles_marcados, goles_recibidos):
    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 = (puntos / max_puntos) * 100
    print(f"La puntuación del equipo fue {puntos} y su rendimiento fue {rendimiento:.2f}%")

# calcula_puntos([2, 1, 3, 1, 0], [1, 2, 2, 1, 3])

# 9 - Gastos de viaje
def gasto_hotel(dias):
    return dias * 150

def gasto_gasolina(distancia_km):
    return (distancia_km * 2 / 14) * 5

def gasto_paseo(dias, ciudad):
    gastos_dia = {"Salvador": 200, "Fortaleza": 400, "Natal": 250, "Aracaju": 300}
    return dias * gastos_dia[ciudad]

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 {total:.2f} reales.")

# 10 - Filtrar palabras con 5 o más letras
frase = input("Escribe una frase: ")
palabras = frase.split()
filtradas = list(filter(lambda p: len(p) >= 5, palabras))
print("Palabras con 5 o más caracteres:", filtradas)