Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Projeto] [Projeto] exercicio 2

atividade1 = int(input("quais os dias da 1ª atividade:"))
atividade2 = int(input("quais os dias da 2ª atividade:"))
atividade3 = int(input("quais os dias da 3ª atividade:"))

if atividade1 and atividade2 and atividade3 > 0:
tempo_estimado = atividade1 + atividade2 + atividade3
print (f"seram necessários {tempo_estimado} dias para reaização de todas atividades!")

else:
print("nenhum numero digitado pode ser negativo, tente novamente!")

1 resposta

Olá, Estudante, tudo bem?

Seu código tem uma lógica interessante, mas há um detalhe importante na condição do if que pode trair você.

Quando você escreve:

if atividade1 and atividade2 and atividade3 > 0:

O Python não interpreta isso como "os três são maiores que zero". Ele avalia assim:

  • atividade1 sozinho: qualquer número diferente de zero é considerado True
  • atividade2 sozinho: mesma coisa
  • atividade3 > 0: aqui sim, a comparação acontece

Ou seja, se o usuário digitar 0 para a primeira atividade, a condição já falha (zero é False em Python), mas por um motivo errado. E se digitar -5 para atividade1, a condição passa (pois -5 é True), quando não deveria.

Para cada variável ser comparada corretamente, você precisa fazer a comparação explícita em cada uma:

if atividade1 > 0 and atividade2 > 0 and atividade3 > 0:

Tenta ajustar seu código com essa correção e veja se o comportamento fica como esperado. Qualquer dúvida, é só trazer aqui!

Conte com a Alura para evoluir seus estudos. Em caso de dúvidas, fico à disposição.

Bons estudos!

Sucesso

Imagem da comunidade