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

Desafio

Entrenando la programación (listas y diccionarios)

1 - Promedio de gastos en la lista dada.

def ejercicio_1(): gastos = [2172.54, 3701.35, 3518.09, 3456.61, 3249.38, 2840.82, 3891.45, 3075.26, 2317.64, 3219.08] promedio = sum(gastos) / len(gastos) print(f"Promedio de gastos: {promedio:.2f}")

2 - Cantidad y porcentaje de compras > 3000.

gastos = [2172.54, 3701.35, 3518.09, 3456.61, 3249.38,
          2840.82, 3891.45, 3075.26, 2317.64, 3219.08]
encima = [g for g in gastos if g > 3000]
cantidad = len(encima)
porcentaje = cantidad / len(gastos) * 100
print(f"Compras >3000: {cantidad} ({porcentaje:.2f}%)")

3 - Lista de 5 enteros aleatorios.

nums = [random.randint(0, 100) for _ in range(5)]
print("Números aleatorios:", nums)

4 - Leer 5 enteros e imprimir lista inversa.

nums = [int(input(f"Ingresa entero #{i+1}: ")) for i in range(5)]
print("Lista original :", nums)
print("Lista inversa  :", list(reversed(nums)))

5 - Lista de primos entre 1 y n.

n = int(input("Generar primos hasta: "))
primos = []
for num in range(2, n+1):
    es_primo = True
    for i in range(2, int(num**0.5)+1):
        if num % i == 0:
            es_primo = False
            break
    if es_primo:
        primos.append(num)
print(f"Primos 1–{n}:", primos)

6 - Validar fecha día/mes/año.

d = int(input("Día   : "))
m = int(input("Mes   : "))
a = int(input("Año   : "))
try:
    datetime.date(a, m, d)
    print("Fecha válida.")
except ValueError:
    print("Fecha inválida.")

Momento para los proyectos

7 - % de crecimiento diario de bacterias.

muestras = [1.2, 2.1, 3.3, 5.0, 7.8,
            11.3, 16.6, 25.1, 37.8, 56.9]
crecimientos = []
for i in range(1, len(muestras)):
    anterior = muestras[i-1]
    actual   = muestras[i]
    pct = 100 * (actual - anterior) / anterior
    crecimientos.append(pct)
print("Crecimientos diarios (%):", [f"{p:.2f}" for p in crecimientos])

8 - IDs pares (dulces) e impares (amargos).

ids = [int(input(f"ID #{i+1}: ")) for i in range(10)]
dulces  = sum(1 for x in ids if x % 2 == 0)
amargos = len(ids) - dulces
print(f"Dulces: {dulces}, Amargos: {amargos}")

9 - Puntuación de examen tipo test.

respuestas_correctas = {
    1: 'D', 2: 'A', 3: 'C', 4: 'B', 5: 'A',
    6: 'D', 7: 'C', 8: 'C', 9: 'A', 10: 'B'
}
puntaje = 0
for i in range(1, 11):
    r = input(f"P{ i:02d } respuesta (A/B/C/D): ").upper()
    if r == respuestas_correctas[i]:
        puntaje += 1
print(f"Puntaje obtenido: {puntaje}/10")

10 - Temperaturas mensuales y las que superan el promedio.

meses = ["Enero","Febrero","Marzo","Abril","Mayo","Junio",
         "Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"]
temps = []
for mes in meses:
    t = float(input(f"Temp. media {mes}: "))
    temps.append(t)
prom = sum(temps) / len(temps)
print(f"Promedio anual: {prom:.2f}")
print("Meses por encima del promedio:")
for mes, t in zip(meses, temps):
    if t > prom:
        print(f"  {mes}: {t:.2f}")

11 - Total de ventas y producto más vendido.

ventas = {
    'Producto A': 300, 'Producto B': 80, 'Producto C': 60,
    'Producto D': 200, 'Producto E': 250, 'Producto F': 30
}
total = sum(ventas.values())
top = max(ventas, key=ventas.get)
print(f"Total ventas: {total}")
print(f"Más vendido: {top} ({ventas[top]} unidades)")
2 respuestas

12 - Encuesta de diseños: ganador y % votos.

votos = {
    'Diseño 1': 1334,
    'Diseño 2':  982,
    'Diseño 3': 1751,
    'Diseño 4':  210,
    'Diseño 5': 1811
}
total = sum(votos.values())
ganador = max(votos, key=votos.get)
pct = votos[ganador] / total * 100
print(f"Ganador: {ganador} con {votos[ganador]} votos ({pct:.2f}%)")

13 - Bonificaciones del 10% (mínimo 200).

salarios = [1172,1644,2617,5130,5532,6341,6650,7238,7685,7782,7903]
bonificaciones = {}
for s in salarios:
    b = max(s * 0.10, 200)
    bonificaciones[s] = b
total_bono = sum(bonificaciones.values())
min_count = sum(1 for b in bonificaciones.values() if b == 200)
max_bono   = max(bonificaciones.values())
print(f"Gasto total en bonificaciones: {total_bono:.2f}")
print(f"Empleados con bono mínimo (200): {min_count}")
print(f"Mayor bonificación: {max_bono:.2f}")

14 - Diversidad biológica: promedio y área mayor.

datos = {
    'Área Norte' : [2819,  7236],
    'Área Leste' : [1440,  9492],
    'Área Sul'   : [5969,  7496],
    'Área Oeste' : [14446, 49688],
    'Área Centro': [22558, 45148]
}
promedios = {area: sum(vals)/len(vals) for area, vals in datos.items()}
mayor_area = max(promedios, key=promedios.get)
print("Promedio especies por área:")
for area, prom in promedios.items():
    print(f"  {area}: {prom:.2f}")
print(f"Área con mayor diversidad: {mayor_area} ({promedios[mayor_area]:.2f})")

15 - Medias de edad por sector y global.

sectores = {
    'Setor A': [22,26,30,30,35,38,40,56,57,65],
    'Setor B': [22,24,26,33,41,49,50,54,60,64],
    'Setor C': [23,26,26,29,34,35,36,41,52,56],
    'Setor D': [19,20,25,27,34,39,42,44,50,65]
}
medias = {}
todas = []
for sector, edades in sectores.items():
    m = sum(edades) / len(edades)
    medias[sector] = m
    todas.extend(edades)
global_media = sum(todas) / len(todas)
encima = sum(1 for e in todas if e > global_media)
print("Media de edad por sector:")
for sector, m in medias.items():
    print(f"  {sector}: {m:.2f}")
print(f"Media global: {global_media:.2f}")
print(f"Personas por encima de media global: {encima}")

Hola , espero que estés muy bien.

Felicitaciones por tu aprendizaje. Estamos priorizando el foro para postear dudas, así optimizamos el tiempo de respuesta para ustedes.

Para no dejar de compartir los códigos, actividades y ejercicios que realizas, creamos un canal en Discord (#compartetucodigo) donde puedes compartirlos, dar y sugerir mejoras con el resto de tus compañeros.

Un saludo.

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