1
resposta

[Projeto] Desafio Resposta

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: "))

if A < 0 or B < 0 or C < 0:
  print("Erro: Os dias não podem serem negativos!")
else:
  tempo_total = A + B + C
  print(f"O tempo total do projeto é: {tempo_total}")
1 resposta

Olá, Maria. Como vai?

Parabéns por mais uma excelente resolução de desafio no fórum! O seu programa ficou incrível e demonstra que você pegou muito bem o espírito das boas práticas de programação e validação de dados.

O grande destaque do seu código foi a implementação do bloco de segurança if A < 0 or B < 0 or C < 0:. No mercado de desenvolvimento de software, não podemos confiar que o usuário sempre digitará os dados perfeitamente. Ao criar essa condicional com o operador lógico or, você blindou o sistema contra uma falha de lógica clássica: calcular um tempo total de projeto negativo, o que seria matematicamente impossível na vida real.

A sua estrutura está super limpa, usando a conversão correta para números inteiros com o int(), organizando o fluxo principal dentro do else e exibindo o resultado de forma elegante com f-string.

Como você está estudando o capítulo de condicionais e evoluindo rápido, quero te apresentar um conceito muito utilizado no dia a dia por programadores para deixar o código ainda mais organizado e profissional: o Código Limpo (Clean Code) através da inversão da lógica, também conhecida como Cláusula de Guarda (Guard Clause).

Na estrutura atual, você colocou a maior parte do seu código (o cálculo e o print) "escondido" e recuado dentro do bloco else. Em programas gigantescos, colocar o fluxo principal dentro de um else faz com que o código vá ficando cada vez mais empurrado para a direita, dificultando a leitura.

Com a Cláusula de Guarda, nós validamos o erro primeiro e interrompemos o programa imediatamente caso algo esteja errado. Em scripts simples, podemos fazer isso usando a função exit(). Veja como a estrutura fica mais direta:

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: "))

# Cláusula de Guarda: Valida o erro e para o programa na hora se houver inconsistência
if A < 0 or B < 0 or C < 0:
    print("Erro: Os dias não podem ser negativos!")
    exit()  # Finaliza a execução do script imediatamente

# O fluxo principal corre livre, sem a necessidade de estar preso dentro de um "else"
tempo_total = A + B + C
print(f"O tempo total do projeto é: {tempo_total} dias.")

Essa pequena mudança melhora a legibilidade porque quem está lendo o seu código bate o olho nas primeiras linhas e já entende quais são as regras de segurança do sistema, e o caminho feliz do programa (o cálculo do tempo) fica totalmente limpo no final.

Uma observação sutil sobre a escrita da mensagem: no português, o correto seria "Os dias não podem ser negativos!" (retirando o "em" do final).

O seu raciocínio lógico para prevenção de bugs está excelente, Maria. Continue praticando com essa mesma dedicação!

Espero que possa ter lhe ajudado!