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

2. Practicando python_condicionales if-elif-y-else_11 Sistema de clasificación para becas escolares.

2. practicando python_condicionales if-elif-y-else_11 Sistema de clasificación para becas escolares.ipynb

"""
11 Sistema de clasificación para becas escolares

Una escuela otorga becas según tres criterios:

Ingreso familiar mensual.
Promedio del estudiante.
Asistencia (en porcentaje).
Reglas:

Si el ingreso es menor a $1,500 y el promedio es mayor a 8.0 y la asistencia es al menos 90% → "Beca completa"
Si el ingreso es menor a $2,500 y promedio mayor a 7.0 y asistencia al menos 85% → "Media beca"
En otros casos → "No elegible para beca"
"""

# --- Sistema de Clasificación para Becas Escolares ---
# Este programa clasifica la elegibilidad de un estudiante para una beca, basándose en tres criterios: 
# ingreso familiar, promedio del estudiante y asistencia.

# --- Entrada de Datos --- uso de input
# Solicitud de los tres criterios necesarios.

# 1. Ingreso familiar mensual (en $)
ingreso_familiar = float(input("Ingrese el ingreso familiar mensual (en $): "))

# 2. Promedio del estudiante (valor numérico)
promedio_estudiante = float(input("Ingrese el promedio del estudiante (ej. 8.5): "))

# 3. Asistencia (en porcentaje, ej. 92.5)
asistencia_porcentaje = float(input("Ingrese el porcentaje de asistencia (ej. 90): "))

# --- Clasificación de Becas - definicion de reglas ---
# Inicializar la variable que almacenará el resultado de la beca.
resultado_beca = ""

# Regla 1: Beca Completa (Máxima Prioridad)
# Si el ingreso es < $1,500 Y el promedio es > 8.0 Y la asistencia es >= 90%
if (ingreso_familiar < 1500) and (promedio_estudiante > 8.0) and (asistencia_porcentaje >= 90):
    resultado_beca = "Beca completa"

# Regla 2: Media Beca (Prioridad Media)
# Solo se verifica si NO se cumple la condición de Beca Completa (por eso usamos 'elif')
# Si el ingreso es < $2,500 Y promedio es > 7.0 y asistencia es >= 85%
elif (ingreso_familiar < 2500) and (promedio_estudiante > 7.0) and (asistencia_porcentaje >= 85):
    resultado_beca = "Media beca"

# Regla 3: No Elegible para Beca (Por defecto)
# Si no se cumple ninguna de las condiciones anteriores.
else:
    resultado_beca = "No elegible para beca"

# --- Presentación del Resultado --- Se incluye separadores con simbolos = y *
print("\n" + "=" * 45)  # se reproduce 45 veces el =
print("RESULTADO DE ELEGIBILIDAD DE BECA")
print("=" * 45)
print(f"DATOS INGRESADOS:")
print(f"Ingreso Familiar Mensual: ${ingreso_familiar:,.2f}") # 2 decimales en formato de salida
print(f"Promedio del Estudiante: {promedio_estudiante:.2f}")
print(f"Porcentaje de Asistencia: {asistencia_porcentaje:.1f}%")
print("-" * 45)
print(f"DECISIÓN: El estudiante es elegible para: **{resultado_beca}**")
print("=" * 45)
1 respuesta

Hola Ernesto, espero que estés bien

Gracias por compartir tu código. Parece que has implementado correctamente el sistema de clasificación para becas escolares utilizando las condiciones if, elif, y else. Aquí tienes un resumen de cómo funciona tu programa:

  1. Entrada de Datos: El programa solicita al usuario que ingrese el ingreso familiar mensual, el promedio del estudiante y el porcentaje de asistencia.

  2. Clasificación de Becas:

    • Beca Completa: Se otorga si el ingreso familiar es menor a $1,500, el promedio es mayor a 8.0 y la asistencia es al menos 90%.
    • Media Beca: Se otorga si el ingreso familiar es menor a $2,500, el promedio es mayor a 7.0 y la asistencia es al menos 85%. Esta condición se evalúa solo si la condición de "Beca Completa" no se cumple.
    • No Elegible para Beca: Si ninguna de las condiciones anteriores se cumple, el estudiante no es elegible para una beca.
  3. Presentación del Resultado: El programa imprime los datos ingresados y la decisión sobre la elegibilidad para la beca.

Tu código parece estar bien estructurado y debería funcionar según las reglas que has descrito. Si tienes algún problema específico con el funcionamiento del programa o un error que no mencionaste, por favor, compártelo para que pueda ayudarte mejor.

Espero que esto te haya sido útil y que continúes disfrutando de tus estudios de Python. ¡Bons estudios!