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

Hora de practicar

Entrenando la programación (listas y diccionarios)

1 - Promedio de gastos en la lista dada.

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

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)")

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