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

Desafio 3

Entrenando la programación (loops)

1 - Imprime todos los enteros entre dos números dados.

a = int(input("Ingrese el primer entero: "))
b = int(input("Ingrese el segundo entero: "))
if a <= b:
    for n in range(a, b + 1):
        print(n, end=" ")
else:
    for n in range(a, b - 1, -1):
        print(n, end=" ")
print()

2 - Días para que colonia A (4 elementos, +3%/día) iguale o supere colonia B (10 elementos, +1.5%/día).

A, B = 4.0, 10.0
dias = 0
while A < B:
    A *= 1.03
    B *= 1.015
    dias += 1
print(f"Toma {dias} días para que A ≥ B (A={A:.2f}, B={B:.2f}).")

3 - Lee 15 calificaciones [0–5], repitiendo hasta que cada una sea válida.

validas = []
for i in range(1, 16):
    while True:
        nota = float(input(f"Nota #{i} (0–5): "))
        if 0 <= nota <= 5:
            validas.append(nota)
            break
        print(">>> Valor inválido. Intenta de nuevo.")
print("Calificaciones válidas:", validas)

4 - Promedio de temperaturas hasta que ingrese -273.

suma = 0.0
cuenta = 0
while True:
    t = float(input("Temperatura (°C) ['-273' para terminar]: "))
    if t == -273:
        break
    suma += t
    cuenta += 1
if cuenta:
    print(f"Promedio: {suma / cuenta:.2f} °C")
else:
    print("No se ingresaron temperaturas.")

5 - Factorial de un entero.

n = int(input("Número entero para factorial: "))
if n < 0:
    print("No está definido para negativos.")
    return
fact = 1
for i in range(2, n + 1):
    fact *= i
print(f"{n}! = {fact}")

Momento de los proyectos (loops)

6 - Tabla de multiplicar del 1 al 10 de un número elegido.

x = int(input("Número para la tabla: "))
print(f"Tabla de multiplicar del {x}:")
for i in range(1, 11):
    print(f"{x} x {i} = {x * i}")

7 - Verifica si un entero es primo.

n = int(input("Ingrese un entero: "))
if n < 2:
    print(f"{n} no es primo.")
    return
for i in range(2, int(n**0.5) + 1):
    if n % i == 0:
        print(f"{n} no es primo (divisible por {i}).")
        return
print(f"{n} es primo.")

8 - Distribución de edades en intervalos hasta que se ingrese negativo.

contadores = {'0-25':0, '26-50':0, '51-75':0, '76-100':0}
while True:
    edad = int(input("Edad (negativo para terminar): "))
    if edad < 0:
        break
    if edad <= 25:
        contadores['0-25'] += 1
    elif edad <= 50:
        contadores['26-50'] += 1
    elif edad <= 75:
        contadores['51-75'] += 1
    elif edad <= 100:
        contadores['76-100'] += 1
    else:
        print("Edad fuera de rango [0–100], se descarta.")
print("Distribución de edades:")
for k, v in contadores.items():
    print(f"  {k}: {v}")

9 - Elección con 20 votos: 1–4 candidatos, 5 nulos, 6 en blanco.

votos = {i:0 for i in range(1,7)}
for i in range(1, 21):
    while True:
        v = int(input(f"Voto #{i} (1–4 candidatos, 5 nulo, 6 blanco): "))
        if 1 <= v <= 6:
            votos[v] += 1
            break
        print(">>> Voto inválido.")
total = sum(votos.values())
print("Resultados:")
for k in range(1,5):
    print(f" Candidato {k}: {votos[k]} votos")
print(f" Nulos: {votos[5]} ({votos[5]/total*100:.2f}%)")
print(f" Blanco: {votos[6]} ({votos[6]/total*100:.2f}%)")
1 respuesta

enhorabuena!

Ahora bien te comparto mi código.

Ejercicio 7: Verificar si un número es primo
numero = int(input("Ingresa un número entero: "))

if numero < 2:
    print("No es un número primo.")
else:
    es_primo = True
    for i in range(2, int(numero ** 0.5) + 1):
        if numero % i == 0:
            es_primo = False
            break
    if es_primo:
        print("Es un número primo.")
    else:
        print("No es un número primo.")
        

Ejercicio 8: Distribución de edades
grupo_1 = 0  # 0-25
grupo_2 = 0  # 26-50
grupo_3 = 0  # 51-75
grupo_4 = 0  # 76-100

while True:
    edad = int(input("Ingresa una edad (negativo para salir): "))
    
    if edad < 0:
        break
    elif edad <= 25:
        grupo_1 += 1
    elif edad <= 50:
        grupo_2 += 1
    elif edad <= 75:
        grupo_3 += 1
    elif edad <= 100:
        grupo_4 += 1
    else:
        print("Edad fuera del rango (0-100). No se contabiliza.")

print("\nDistribución de edades:")
print(f"0 - 25 años: {grupo_1}")
print(f"26 - 50 años: {grupo_2}")
print(f"51 - 75 años: {grupo_3}")
print(f"76 - 100 años: {grupo_4}")