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

python condicionales: clasificacion 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"



try:
    # Usamos try-except para evitar que el programa se detenga si el usuario ingresa texto en lugar de número
    # entrada de datos
    ingreso_mensual = int(input('Registre el monto del ingreso familiar mensual.'))
    promedio_estudiante = float(input('Ingrese el promedio del estudiante.'))
    asistencia = float(input('Registre la asistencia del estudiante en porcentaje.'))
    # verificamos si se cumplen las 3 condiciones para la entrega de la beca 
    if ingreso_mensual <= 1500 and promedio_estudiante >= 8 and asistencia >= 90:   
        print('¡Felicitaciones! obtiene la beca completa.')
    elif ingreso_mensual <= 2500 and promedio_estudiante >= 7 and asistencia >= 85: 
        print('¡Felicitaciones! Obtiene la mitad de la beca.')
    else:
        print('Lo siento, no puede obtener la beca.') 
except ValueError:
    print('Error: ingreso los datos invalidos, asegurese de ingresar solo números.')
1 respuesta

Hola Estudiante, ¡espero que estés bien!

Tu código para clasificar las becas según los criterios dados parece estar bien estructurado. Sin embargo, hay un pequeño detalle en las condiciones que podrías ajustar para que coincidan exactamente con las reglas proporcionadas. En las reglas, se menciona que el ingreso debe ser "menor" a $1,500 y "menor" a $2,500, pero en tu código utilizas <= (menor o igual), lo cual podría incluir ingresos de exactamente $1,500 y $2,500, respectivamente.

Aquí tienes el ajuste:

try:
    # Usamos try-except para evitar que el programa se detenga si el usuario ingresa texto en lugar de número
    # entrada de datos
    ingreso_mensual = int(input('Registre el monto del ingreso familiar mensual.'))
    promedio_estudiante = float(input('Ingrese el promedio del estudiante.'))
    asistencia = float(input('Registre la asistencia del estudiante en porcentaje.'))
    # verificamos si se cumplen las 3 condiciones para la entrega de la beca 
    if ingreso_mensual < 1500 and promedio_estudiante > 8 and asistencia >= 90:   
        print('¡Felicitaciones! obtiene la beca completa.')
    elif ingreso_mensual < 2500 and promedio_estudiante > 7 and asistencia >= 85: 
        print('¡Felicitaciones! Obtiene la mitad de la beca.')
    else:
        print('Lo siento, no puede obtener la beca.') 
except ValueError:
    print('Error: ingreso los datos invalidos, asegurese de ingresar solo números.')

Con este pequeño ajuste, tu código debería funcionar exactamente como se espera según las reglas proporcionadas. Espero que esto te ayude a resolver tu duda. ¡Bons estudios!