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

Evaluación de desempeño

import sys

def leer_entero(prompt, min_val=None, max_val=None):
try:
val = int(input(prompt))
except ValueError:
print("Entrada inválida. Debe ingresar un número entero.")
sys.exit(1)
if (min_val is not None) and (val < min_val):
if min_val == 0:
print("Años trabajados inválidos. No pueden ser negativos.")
else:
print(f"Valor inválido. No puede ser menor que {min_val}.")
sys.exit(1)
if (max_val is not None) and (val > max_val):
print(f"Valor inválido. No puede ser mayor que {max_val}.")
sys.exit(1)
return val

puntuacion = leer_entero("Ingrese su puntuación de desempeño (1-10): ", 1, 10)
anos_trabajados = leer_entero("Ingrese los años trabajados: ", 0, None)

if puntuacion < 7:
print("Necesita mejorar.")
elif anos_trabajados > 5:
print("Elegible para ascenso.")
else:
print("Buen desempeño, sigue así.")

1 respuesta

Hola Gabriel, espero que estés bien

Parece que estás trabajando en un programa para evaluar el desempeño de los empleados basado en sus puntuaciones y años trabajados. Tu código está casi correcto, pero hay un pequeño error en la lógica de las condiciones que podría estar causando problemas con la evaluación.

Según las reglas que mencionaste, si la puntuación es mayor o igual a 7, entonces debes verificar los años trabajados para determinar el mensaje apropiado. Sin embargo, en tu código, la condición elif anos_trabajados > 5 se evalúa independientemente de la puntuación, lo cual podría no seguir exactamente las reglas que se te han dado.

Aquí tienes una pequeña corrección para tu código:

if puntuacion >= 7:
    if anos_trabajados > 5:
        print("Elegible para ascenso.")
    else:
        print("Buen desempeño, sigue así.")
else:
    print("Necesita mejorar.")

Con este ajuste, el programa primero verifica si la puntuación es mayor o igual a 7, y luego evalúa los años trabajados para decidir entre "Elegible para ascenso" o "Buen desempeño, sigue así". Si la puntuación es menor a 7, entonces el mensaje será "Necesita mejorar", tal como indican las reglas.

Espero que esta corrección te ayude a resolver el problema. ¡Bons estudios!