Hola Elmer, espero que estés bien
¡Espero que estés teniendo un buen día! He revisado tu código y parece que estás en el camino correcto para resolver el problema. Sin embargo, hay un pequeño detalle que podrías ajustar para que funcione perfectamente de acuerdo a lo que se solicita en el ejercicio.
En la función valoresNoNegativos, estás verificando si todos los valores son mayores que cero con all(dias > 0 for dias in data). Sin embargo, esto debería ser all(dias >= 0 for dias in data) para incluir el caso en que los días sean cero, ya que cero no es un valor negativo y debería ser considerado válido.
Aquí está el ajuste que podrías hacer:
def valoresNoNegativos(data:tuple)->bool:
if all(dias >= 0 for dias in data): # Cambiado de > a >=
mensaje = f"Los dias para terminar las actividades {proyectos} seran de: {sum(data)} días"
else:
mensaje = "Error: Los valores ingresados no pueden ser negativos."
print(mensaje)
return mensaje
Con este pequeño cambio, tu programa debería funcionar como se espera, mostrando el tiempo total de las actividades cuando todos los valores son válidos y mostrando un mensaje de error si alguno de los valores es negativo.
Espero que esta sugerencia te sea útil y que puedas seguir avanzando con tu proyecto. ¡Bons estudios!