Solucionado (ver solução)

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!

Solucionado
(ver solução)
1
resposta

[Projeto] Calculando o tempo total de projeto

# @title
while True:
  try:
    dias_atividade_a = int(input("Informe os dias para a atividade A: "))
    if dias_atividade_a < 0:
      print("Erro: Os dias não podem ser negativos. Por favor, digite um número inteiro positivo.")
    else:
      break
  except ValueError:
    print("Erro: Entrada inválida. Por favor, digite um número inteiro.")

while True:
  try:
    dias_atividade_b = int(input("Informe os dias para a atividade B: "))
    if dias_atividade_b < 0:
      print("Erro: Os dias não podem ser negativos. Por favor, digite um número inteiro positivo.")
    else:
      break
  except ValueError:
    print("Erro: Entrada inválida. Por favor, digite um número inteiro.")

while True:
  try:
    dias_atividade_c = int(input("Informe os dias para a atividade C: "))
    if dias_atividade_c < 0:
      print("Erro: Os dias não podem ser negativos. Por favor, digite um número inteiro positivo.")
    else:
      break
  except ValueError:
    print("Erro: Entrada inválida. Por favor, digite um número inteiro.")

tempo_total = dias_atividade_a + dias_atividade_b + dias_atividade_c
print(f"O tempo total do projeto é de {tempo_total} dias")
1 resposta
solução!

Olá, Monica! Como vai?

Parabéns pela resolução da atividade!

Vi que você explorou o while para repetição com Python, utilizou muito bem o try/except para tratamento de erros e ainda compreendeu a importância da validação para garantir consistência nos dados.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Uma dica interessante para o futuro é aplicar funções para evitar repetição de código. Assim:

def ler_dias(atividade):
    while True:
        try:
            dias = int(input(f"Informe os dias para a atividade {atividade}: "))
            if dias < 0:
                print("Erro: Os dias não podem ser negativos. Por favor, digite um número inteiro positivo.")
            else:
                return dias
        except ValueError:
            print("Erro: Entrada inválida. Por favor, digite um número inteiro.")

dias_a = ler_dias("A")
dias_b = ler_dias("B")
dias_c = ler_dias("C")

tempo_total = dias_a + dias_b + dias_c
print(f"O tempo total do projeto é de {tempo_total} dias")

Isso faz com que o código fique mais organizado, reutilizável e fácil de manter.

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Ah, uma pergunta: Você prefere que programas sejam mais modulares e organizados com funções reutilizáveis ou mais lineares e diretos, mesmo que tenham código repetido?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!