Hola Juan, espero que estés bien
Parece que tu código está casi correcto, pero hay un pequeño error en la condición que verifica si alguno de los valores es negativo. Actualmente, solo estás verificando si actA o actC son negativos, pero te falta incluir actB en la condición.
Aquí tienes cómo puedes corregirlo:
def tiempoTotal(actA, actB, actC):
respuesta = ""
diasTotales = 0
if actA < 0 or actB < 0 or actC < 0:
respuesta = 'Error: Los días no pueden ser negativos.'
else:
diasTotales = actA + actB + actC
respuesta = f'Tiempo total de proyecto: {diasTotales} días'
return respuesta
actividadA = int(input('Informe los días para la actividad A: '))
actividadB = int(input('Informe los días para la actividad B: '))
actividadC = int(input('Informe los días para la actividad C: '))
print(tiempoTotal(actividadA, actividadB, actividadC))
Con este cambio, el programa debería funcionar correctamente y detectar valores negativos en cualquiera de las tres actividades.
Espero haber ayudado y buenos estudios!
Interesante corrección, Brenda, apliqué algo similar en mi solución:
try:
dias_act_a = int(input("Ingrese los días necesarios para la Actividad A: "))
dias_act_b = int(input("Ingrese los días necesarios para la Actividad B: "))
dias_act_c = int(input("Ingrese los días necesarios para la Actividad C: "))
if dias_act_a < 0 or dias_act_b < 0 or dias_act_c < 0:
print("\nERROR: Valores de entrada inválidos.")
print("El número de días para cualquier actividad no puede ser negativo.")
else:
tiempo_total = dias_act_a + dias_act_b + dias_act_c
print(f"\n Tiempo total del proyecto: {tiempo_total} días.")
print(f"Detalle: Actividad A ({dias_act_a}) + Actividad B ({dias_act_b}) + Actividad C ({dias_act_c})")
except ValueError:
print("\n ERROR: Por favor, ingrese un número entero válido para los días.")