Olá, Micael. Como vai?
Parabéns por resolver mais um desafio! A sua lógica para calcular o tempo total do projeto está excelente. Foi uma ótima decisão adicionar a validação if a < 0 or b < 0 or c < 0: para garantir que o programa não aceite números negativos, pois o tempo em um cronograma real de gerenciamento de projetos sempre avança positivamente.
Assim como nos códigos anteriores, o único detalhe que precisa de ajuste para que o Python execute o seu arquivo sem quebras é a indentação. Os comandos print() e a variável total precisam estar recuados com quatro espaços de distância da margem para o interpretador saber que eles estão sob o controle do if e do else.
Aqui está o seu código com os blocos devidamente ajustados:
a = int(input("Informe os dias para a atividade A: "))
b = int(input("Informe os dias para a atividade B: "))
c = int(input("Informe os dias para a atividade C: "))
# Adicionado o recuo correto nos blocos de código
if a < 0 or b < 0 or c < 0:
print("Erro: Os dias não podem ser negativos.")
else:
total = a + b + c
print("Tempo total do projeto:", total, "dias")
Agregando Valor: Analisando Caminho Crítico (Gargalos)
Para expandir esse exercício e trazer um conceito real da área de Gestão de Projetos e Engenharia de Software, podemos pensar em como as atividades se comportam. No seu código atual, você somou todas as atividades diretamente (a + b + c), o que assume que elas acontecem de forma sequencial (uma só começa quando a outra termina).
No entanto, no mercado, muitas atividades acontecem em paralelo (ao mesmo tempo). Quando queremos saber o tempo total de um projeto com etapas paralelas, nós procuramos o Caminho Crítico, ou seja, a rota de atividades que leva mais tempo para ser concluída e que define o prazo real de entrega.
Imagine que a atividade A é o planejamento, e depois dela, os times começam a desenvolver a atividade B (Design) e a atividade C (Programação) ao mesmo tempo. O tempo total do projeto não será a soma de todas, mas sim o tempo de A somado ao maior valor entre B e C.
Veja como podemos usar a função max() do Python junto com a sua lógica para simular esse cenário mais realista:
a = int(input("Informe os dias para o Planejamento (Atividade A): "))
b = int(input("Informe os dias para o Design (Atividade B - paralela): "))
c = int(input("Informe os dias para a Programação (Atividade C - paralela): "))
if a < 0 or b < 0 or c < 0:
print("Erro: Os dias não podem ser negativos.")
else:
# O projeto vai durar o tempo de A + a atividade mais demorada entre B e C
total_paralelo = a + max(b, c)
print(f"Tempo total do projeto (com etapas paralelas): {total_paralelo} dias")
Com essa modificação, além de praticar a estrutura condicional básica, você começa a entender como modelar regras de negócios e fluxos de trabalho reais através do código. Continue praticando firme!
Espero que possa ter lhe ajudado!