1
resposta

[Solução] Calculando o tempo total de projeto

def pega_int(pergunta: str, opcoes: list[int] = []) -> int:
    """
    Solicita uma entrada do usuário, garantindo que seja um número inteiro
    e, opcionalmente, que esteja dentro de uma lista de opções válidas.

    Args:
        pergunta: A mensagem (prompt) a ser exibida ao usuário.
        opcoes: Uma lista de inteiros válidos. Se a lista estiver vazia
            (padrão), qualquer inteiro é aceito.

    Returns:
        O número inteiro digitado pelo usuário.

    Raises:
        ValueError: Se a entrada não puder ser convertida para int.
        ValueError: Se o inteiro digitado não estiver na lista de opções válidas.
    """

    resposta: int = 0
    
    try:
        resposta = int(input(pergunta))
    except ValueError:
        raise ValueError('Entrada inválida!')
    
    if opcoes == []:
        return resposta
    
    if resposta in opcoes:
        return resposta
    raise ValueError('Opção inválida!')

def main() -> None:
    """
    Função principal do programa.

    Solicita ao usuário a quantidade de dias para as atividades 'A', 'B' e 'C'
    e calcula a soma total dos dias informados. Garante que as entradas sejam
    números inteiros.

    Raises:
        SystemExit: Se o valor inserido não for um número válido ou
            se for um número negativo (o programa é encerrado com código 1).
    """
    
    dias_atividade: dict[str, int] = {
        'A': 0,
        'B': 0,
        'C': 0
    }

    numero_dias: int = 0
    soma_dias: int = 0

    for atividade in dias_atividade:
        try:
            numero_dias = pega_int(f'Informe os dias para a atividade {atividade}: ')
        except ValueError:
            print('Erro: O valor inserido não é um número válido!')
            exit(1)
            
        dias_atividade[atividade] = numero_dias
    
    for dias in dias_atividade.values():
        if dias < 0:
            print('Erro: Os dias não podem ser negativos.')
            exit(1)
        else:
            soma_dias = soma_dias + dias
    
    print(f'A soma dos dias é: {soma_dias}')
            

if __name__ == '__main__':
    main()

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Mozert!

Que legal acompanhar você no desenvolvimento das atividades, continue assim! Sobre o código, está certinho.
E agradeço por compartilhar com a comunidade, com certeza ajudará outros colegas durante os estudos.

Caso queira participar da nossa comunidade no Discord, para interagir por lá também, basta clicar na guia Comunidade > Discord no seu perfil:

Tela inicial da página da Alura com menu lateral escuro e texto branco. Botão "Comunidade" em vermelho no topo. Opções abaixo: "Discord" (estudo com outros), "Discord" (estude com outroas pessoas na nossa comunidade do Discord e "Sugestões".

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