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

estructuras de repetición como el while y el for (Parte 2) ejercicios del 5 al 8.

"""
5 - Escribe un programa que calcule el factorial de un número entero proporcionado por el usuario. Recuerda que el factorial de un número entero es el producto de ese número por todos sus antecesores hasta llegar al número 1. Por ejemplo, el factorial de 5 es 5 x 4 x 3 x 2 x 1 = 120.
"""
# 5 - Calcular el factorial de un número entero.

print("\n--- Desafío 5: Cálculo de Factorial ---")
# Se asume que el usuario ingresa un entero válido. el check no incluye validar una letra
num = int(input("Ingresa un número entero no negativo para calcular su factorial: "))

if num < 0:
    print("El factorial no está definido para números negativos.")
elif num == 0:
    print("El factorial de 0 es 1.")
else:
    factorial = 1
    # Uso de 'for'
    for i in range(1, num + 1): #para que el ciclo a través de range llegue al valor de num
        factorial = factorial * i

    print(f"\nEl factorial de {num} es {factorial}.")



## Momento de los Proyectos


"""
6 - Escribe un programa que genere la tabla de multiplicar de un número entero del 1 al 10, según la elección del usuario. Como ejemplo, para el número 2, la tabla de multiplicar debe mostrarse en el siguiente formato:

Tabla de multiplicar del 2:
2 x 1 = 2
2 x 2 = 4
[...]
2 x 10 = 20
"""
# 6 - Generar la tabla de multiplicar de un número del 1 al 10.

print("\n--- Desafío 6: Tabla de Multiplicar ---")
# Se asme que el usuario ingresa un entero válido. la validación completa incluiría el chequeo de su residuo es cero o no
num = int(input("Ingresa un número entero para generar su tabla de multiplicar: "))

print(f"\nTabla de multiplicar del {num}:")
# Uso de 'for'
for i in range(1, 11): # 11 para que el ultimo valor sea n-1 o menor que n en este caso 10
    resultado = num * i
    print(f"{num} x {i} = {resultado}")




# 7 - Los números primos tienen diversas aplicaciones en Ciencia de Datos, como en criptografía y seguridad. Un número primo es aquel que es divisible solo por sí mismo y por 1. Por lo tanto, crea un programa que solicite un número entero y determine si es un número primo o no.
# 7 - Determinar si un número entero es primo.

print("\n--- Desafío 7: Número Primo ---")
# Se asume que el usuario ingresa un entero válido
num = int(input("Ingresa un número entero para verificar si es primo: "))

if num <= 1:
    print(f"\nEl número {num} no es primo.")
else:
    es_primo = True
    # Uso de 'for'
    for i in range(2, num):
        if num % i == 0:
            es_primo = False
            break # Detener el 'for' si se encuentra un divisor
    
    if es_primo:
        print(f"\nEl número {num} es un número primo.")
    else:
        print(f"\nEl número {num} NO es un número primo.")




#8 - Vamos a comprender la distribución de edades de los pensionistas de una empresa de seguros. Escribe un programa que lea las edades de una cantidad no informada de clientes y muestre la distribución en los intervalos [0-25], [26-50], [51-75] y [76-100]. La entrada de datos se detendrá al ingresar un número negativo.
# 8 - Leer edades hasta un número negativo y mostrar la distribución por intervalos. - Distribución de edades de pensionistas

print("\n--- Desafío 8: Distribución de Edades ---")
# Contadores para los intervalos. Se inicializa en cero. se "blanquea" espacio de memoria de la vble.
conteo_0_25 = 0
conteo_26_50 = 0
conteo_51_75 = 0
conteo_76_100 = 0
total_clientes = 0
edad = 0

print("Ingresa las edades de los clientes. Ingresa un número negativo para detener.")

# Uso de 'while' para la parada indefinida.
while edad >= 0: #solo valores positivos o cero
    # se asume que el usuario ingresa un entero válido
    edad = int(input(f"Ingresa edad del cliente (o negativo para terminar): "))

    # Si la edad es negativa, el loop o ciclo terminará en la siguiente iteración.
    if edad < 0:
        break
    
    # Procesar edad si está en el rango [0-100]
    if edad >= 0 and edad <= 100:
        total_clientes = total_clientes + 1
        
        # Estructura de decisión anidada para el conteo
        if edad <= 25:
            conteo_0_25 = conteo_0_25 + 1
        elif edad <= 50: # Implica 26 <= edad <= 50
            conteo_26_50 = conteo_26_50 + 1
        elif edad <= 75: # Implica 51 <= edad <= 75
            conteo_51_75 = conteo_51_75 + 1
        else: # Implica 76 <= edad <= 100
            conteo_76_100 = conteo_76_100 + 1
    else:
        print("Edad fuera del rango [0-100]. Ignorada.")

print("\n--- Resumen de Distribución Estadistica de Edades (Descriptiva) ---")
print(f"Total de clientes procesados: {total_clientes}")
print(f"Intervalo [0-25]: {conteo_0_25} clientes")
print(f"Intervalo [26-50]: {conteo_26_50} clientes")
print(f"Intervalo [51-75]: {conteo_51_75} clientes")
print(f"Intervalo [76-100]: {conteo_76_100} clientes")

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!