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)