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 | Praticando Python: condicionais if, elif e else

Programa aprimorado para calcular tempo total de um projeto

::

Com tratamento de erros para entradas inválidas

def obter_dias(atividade):
    """Solicita ao usuário o número de dias e valida a entrada."""
    while True:
        try:
            dias = int(input(f"Informe os dias para atividade {atividade}: "))
            return dias
        except ValueError:
            print(f"ERRO: Por favor, digite um número inteiro válido.")

Receber os dados das três atividades

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

Validar se algum valor é negativo

if dias_a < 0 or dias_b < 0 or dias_c < 0:
    print("ERRO: os dias não podem ser negativos.")
else:
    # Calcular o tempo total
    tempo_total = dias_a + dias_b + dias_c
    print(f"\n{'='*40}")
    print(f"Resumo do Projeto:")
    print(f"{'='*40}")
    print(f"Atividade A: {dias_a} dias")
    print(f"Atividade B: {dias_b} dias")
    print(f"Atividade C: {dias_c} dias")
    print(f"{'-'*40}")
    print(f"Tempo total do projeto: {tempo_total} dias")
    print(f"{'='*40}")

SAÍDA:

Informe os dias para atividade A: 5
Informe os dias para atividade B: -8
Informe os dias para atividade C: 10
ERRO: os dias não podem ser negativos.

1 resposta
solução!

Olá, estudante. Tudo bem com você?

Seu código atende perfeitamente aos requisitos do exercício. Você implementou a lógica das condicionais corretamente para barrar números negativos e foi além, criando uma função com tratamento de exceções para garantir que a entrada seja um número inteiro válido. Isso enriquece o comportamento do programa e demonstra um excelente entendimento da linguagem.

Como dica opcional para projetos futuros com muitas variáveis, você pode explorar estruturas de repetição como o laço for associado a uma lista. Por exemplo, iterar sobre uma lista de nomes de atividades para preencher um dicionário reduziria a repetição de código na hora de coletar os dados de cada atividade.

Como você planeja expandir essa lógica se o projeto passasse a ter dez atividades em vez de três?

Parabéns pelo excelente desempenho no desenvolvimento do código. Continue compartilhando seus exercícios conosco, o fórum está sempre à sua disposição.

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