Oii, Samuel!
Vamos por partes, comparando a ideia da atividade, o gabarito e o código que você escreveu.
1. O que a atividade pede exatamente
A proposta é a seguinte:
Ler os dias de três atividades (A, B e C)
Se algum valor for negativo, o programa deve:
- Avisar que os valores são inválidos
- Não calcular o total
Caso contrário (todos válidos), deve:
- Somar os dias
- Mostrar o tempo total do projeto
valores negativos são inválidos, mas zero é permitido.
2. O que o gabarito faz
No gabarito, a verificação é esta:
if (atividade_A >= 0 and atividade_B >= 0 and atividade_C >= 0):
Isso significa:
- Todos os valores precisam ser maiores ou iguais a zero
- Se qualquer um for negativo, o
if falha e cai no else
Essa condição atende exatamente ao enunciado.
3. Onde tá o problema no seu código:
a condição foi:
if (atividade_A <= 0) or (atividade_B <= 0) or (atividade_C <= 0):
Aqui existem dois pontos de atenção:
a) Uso de <= 0
Esse operador considera zero como erro, mas zero não é negativo.
Ou seja, se a pessoa informar 0 dias para uma atividade (o que é válido), o programa vai acusar erro.
b) Lógica invertida
O código verifica primeiro a condição de erro, enquanto o gabarito verifica primeiro a condição válida.
Isso não é errado por si só, mas exige muito cuidado com os operadores usados.
4. Como ajustar o seu código mantendo a mesma ideia
Se a intenção for continuar verificando o erro primeiro, o correto seria usar < 0:
if (atividade_A < 0) or (atividade_B < 0) or (atividade_C < 0):
print("Erro: os dias não podem ser negativos")
else:
total_dias = atividade_A + atividade_B + atividade_C
print("O projeto terá duração total de {} dias.".format(total_dias))
Assim:
- Apenas números negativos geram erro
- Zero é aceito
- O comportamento fica alinhado com o enunciado e com o gabarito
Respondendo a sua dúvida:
- A estrutura geral do código tá correta
- O problema tá na condição, que usa
<= 0 em vez de < 0 - O gabarito está correto porque permite zero e bloqueia apenas números negativos
Esse tipo de ajuste é muito comum no início e faz parte do aprendizado. O raciocínio já está bem encaminhado, agora é só lapidar os detalhes da lógica.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!