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

09Desafío_ ¡Es hora de practicar! uso de estructuras de repetición como el while y el for (Parte 1)

estructuras de repetición como el while y el for (Parte 1) ejercicios 1 al 5 (4.829/5000 caracteres)

# 1 - Escribe un programa que solicite dos números enteros e imprima todos los números enteros entre ellos.
# usuario ingresa enteros válidos
num1 = int(input("Ingresa el primer número entero: "))
num2 = int(input("Ingresa el segundo número entero: "))

if num1 == num2:
    print("Los números son iguales, no hay enteros entre ellos.")
else:
    # Determinar el inicio y fin del rango.
    if num1 < num2:
        inicio = num1 + 1
        fin = num2
    else: # num1 > num2
        inicio = num2 + 1
        fin = num1

    print(f"\nNúmeros enteros entre {inicio - 1} y {fin}:")
    # Uso de 'for'
    for numero in range(inicio, fin):
        print(numero)


"""
2 - Escribe un programa para calcular cuántos días tomará que la colonia de una bacteria A supere o iguale a la colonia de una bacteria B, basado en tasas de crecimiento del 3% y 1.5%, respectivamente. Supón que la colonia A comienza con 4 elementos y B con 10.
"""
# 2 - Calcular días para que la colonia A supere o iguale a la colonia B.

print("\n--- Desafío 2: Crecimiento de Bacterias ---")
# Condiciones iniciales
colonia_a = 4.0
tasa_a = 0.03 # equivale al 3% o = 3/100
colonia_b = 10.0
tasa_b = 0.015 # equivale a 1.5% o 1.5/100
dias = 0

print(f"Inicio: Colonia A = {colonia_a:.2f}, Colonia B = {colonia_b:.2f}")

# Uso de 'while'
while colonia_a < colonia_b:
    colonia_a = colonia_a * (1 + tasa_a)
    colonia_b = colonia_b * (1 + tasa_b)
    # dias = dias + 1   (Alternativa clásica)
    dias +=  + 1

print(f"\nColonia A ({colonia_a:.2f}) superará o igualará a la Colonia B ({colonia_b:.2f}) en {dias} días.")


"""
3 - Para procesar una cantidad de 15 datos de evaluaciones de usuarios de un servicio de la empresa, necesitamos verificar si las calificaciones son válidas. Por lo tanto, escribe un programa que recibirá calificaciones del 0 al 5 y verificará si son valores válidos. Si se ingresa una calificación superior a 5 o inferior a 0, se repetirá hasta que el usuario ingrese un valor válido.
"""
# 3 - Validar 15 calificaciones de usuario entre 0 y 5.

print("\n--- Desafío 3: Validación de Calificaciones ---")
TOTAL_DATOS = 15
i = 1 # Contador para las 15 iteraciones

# Uso de 'while' para controlar las 15 entradas.
while i <= TOTAL_DATOS:
    calificacion_valida = False
    
    # Ciclo interno (while) para la validación de *una* entrada.
    while calificacion_valida == False:  #esto se puede llamar un sw con valores 0 (false) y 1 (True)
        # Asumimos que el usuario ingresa un número, aunque el rango podría ser incorrecto.
        calificacion = float(input(f"Ingresa la calificación {i} de {TOTAL_DATOS} (entre 0 y 5): "))

        # Verificar rango válido
        if calificacion >= 0 and calificacion <= 5:
            print(f"Calificación {i} registrada: {calificacion}")
            calificacion_valida = True # La calificación es válida, salir del 'while' interno
        else:
            print("¡Calificación inválida! Debe estar entre 0 y 5. Intenta de nuevo.")
            # El loop o ciclo continúa (calificacion_valida sigue siendo False)

    i = i + 1 # Avanzar al siguiente dato. tambien se puede usar i += 1 para incrementar en +1 a la vble i.
    
print("\n--- Proceso de 15 calificaciones finalizado ---")



# 4 - Desarrolla un programa que lea un conjunto indefinido de temperaturas en grados Celsius y calcule su promedio. 
# La lectura debe detenerse al ingresar el valor -273°C.
# 4 - Leer temperaturas hasta -273°C y calcular el promedio.

print("\n--- Desafío 4: Promedio de Temperaturas ---")
Temperatura_Terminacion = -273.0
suma_temperaturas = 0.0
conteo_temperaturas = 0
temperatura = 0.0 # Inicialización
bandera_parada = False # Bandera para controlar la parada. Esto es un SW booleano. algunos usan sw con valores 0 o 1.

print(f"Ingresa temperaturas en grados Celsius. Ingresa {Temperatura_Terminacion}°C para detener.")

# Uso de 'while'
while bandera_parada == False: #switch como vble booleana
    # Asumimos que el usuario ingresa un número
    temperatura = float(input("Ingresa una temperatura: "))
    
    if temperatura == Temperatura_Terminacion:
        bandera_parada = True # Activa la bandera para terminar el loop
    else:
        suma_temperaturas = suma_temperaturas + temperatura
        conteo_temperaturas = conteo_temperaturas + 1
        
print("\n--- Lectura finalizada ---")

if conteo_temperaturas > 0:
    promedio = suma_temperaturas / conteo_temperaturas
    print(f"El promedio de las {conteo_temperaturas} temperaturas es: {promedio:.2f}°C")
else:
    print("No se ingresaron temperaturas válidas para calcular el promedio.")



1 respuesta

Hola,

Gracias por compartir tu experiencia con nosotros. Recuerda que estamos aquí para ayudarte. Si necesitas ayuda, no dudes en buscarnos en el foro.

¡Gracias nuevamente!

Saludos,

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