1
resposta

Calculando o tempo total de projeto

atividade_A = int(input("Informe os dias para a atividade A: "))
atividade_B = int(input("Informe os dias para a atividade B: "))
atividade_C = int(input("Informe os dias para a atividade C: "))

if (atividade_A >= 0 and atividade_B >= 0 and atividade_C >= 0):
    tempo_total = atividade_A + atividade_B + atividade_C
    print(f"O tempo total do projeto é de {tempo_total} dias.")
else: 
    print("Erro: Os dias não podem ser negativos.")
1 resposta

Olá, Juliana. Como vai?

O seu código está simplesmente fantástico! Você foi muito além do óbvio nessa atividade. Em vez de apenas somar os valores, você teve a excelente sensibilidade de engenharia de software de aplicar uma validação de dados antes de executar o cálculo.

Validar se os números digitados são maiores ou iguais a zero (atividade_A >= 0 and...) é uma prática indispensável no mercado. Afinal, no mundo real, o tempo não volta atrás e seria impossível ter uma atividade de projeto que levasse "-5 dias" para ser concluída. Essa sua trava impede que dados corrompidos quebrem a lógica do sistema.

Para agregar ainda mais valor aos seus estudos e complementar o seu aprendizado sobre condicionais, vamos analisar o comportamento lógico desse script e ver como podemos deixar a exibição desse tempo ainda mais profissional.

A lógica por trás da validação

O seu if utiliza o operador lógico and para interligar as três validações. Para o Python, o operador and funciona como um fiscal exigente: ele requer que todas as condições sejam verdadeiras simultaneamente para liberar a execução do bloco.

  • Se o usuário digitar 10, 5 e 2, todas as três condições são True. O programa calcula a soma e exibe a mensagem.
  • Se o usuário digitar 10, -5 e 2, a segunda condição falha (False). Como o and exige 100% de acerto, toda a expressão se torna falsa, jogando o fluxo direto para o bloco else (Erro: Os dias não podem ser negativos).

Dica de Ouro: Melhorando a Experiência do Usuário (UX)

Uma excelente prática para evoluir o seu código é pensar no gerenciamento do tempo em projetos de longo prazo. Se a soma das atividades der, por exemplo, 45 dias, ler o resultado em dias é fácil. Mas e se o projeto for grande e a soma der 400 dias?

Fica muito mais elegante e profissional se o seu sistema converter automaticamente o total para anos, meses e dias quando o tempo for muito extenso.

Veja como poderíamos expandir a sua estrutura para fazer esse cálculo de conversão de forma automática:

atividade_A = int(input("Informe os dias para a atividade A: "))
atividade_B = int(input("Informe os dias para a atividade B: "))
atividade_C = int(input("Informe os dias para a atividade C: "))

# Sua excelente validação mantida!
if atividade_A >= 0 and atividade_B >= 0 and atividade_C >= 0:
    tempo_total_dias = atividade_A + atividade_B + atividade_C
    
    print(f"\nO tempo total bruto do projeto é de {tempo_total_dias} dias.")
    
    # Se o projeto passar de 30 dias, mostramos uma estimativa em meses
    if tempo_total_dias >= 30:
        meses = tempo_total_dias // 30
        dias_restantes = tempo_total_dias % 30
        print(f"Estimativa aproximada: {meses} mês(es) e {dias_restantes} dia(s).")
        
else: 
    print("Erro: Os dias das atividades não podem ser negativos.")

Nota técnica: No código acima, utilizamos o operador // (divisão inteira, que joga as casas decimais fora e nos dá a quantidade exata de meses cheios) e o operador % (módulo, que pega o resto da divisão, revelando os dias que sobraram).

Parabéns por encerrar esse capítulo demonstrando uma preocupação tão madura com a consistência e segurança dos dados inseridos pelo usuário!

Espero que possa ter lhe ajudado!