1
resposta

Calculando a gorjeta em um restaurante

import os

def capturar_valores():
    while True:
        try:
            valor_da_conta = float(input('Informe o valor da conta: ').strip())
            valor_porcentagem = int(input('Informe a porcentagem da gorjeta: ').strip())

            if valor_da_conta <= 0 or valor_porcentagem < 0:
                print('Os valores devem ser positivos. Tente novamente.')
                if not deseja_retornar():
                    quit()
                continue

            return valor_da_conta, valor_porcentagem
        
        except (ValueError, TypeError):
            print('Informe um valor numérico válido.')
            if not deseja_retornar():
                quit()
            continue


def resultados_valores():
    valor_conta, valor_porcentagem = capturar_valores()

    valor_gorjeta = valor_conta * (valor_porcentagem / 100)
    valor_total = valor_conta + valor_gorjeta

    print(f'\nValor da gorjeta: R${valor_gorjeta:.2f}')
    print(f'Valor total da conta: R${valor_total:.2f}')
    
def deseja_retornar():
    while True:
        retornar = input('\nDeseja retornar (S/N): ').strip().lower()

        if retornar in ('s', 'n'):
            return retornar == 's'
        
        print('Digite apenas "S" ou "N"!')


def main():
    while True:
        os.system('cls')
        resultados_valores()

        if not deseja_retornar():
            print("Encerrando programa")
            break


if __name__ == "__main__":
    main()
1 resposta

Olá, Carlos, como vai?

O código que você desenvolveu atende perfeitamente aos requisitos da atividade e realiza o cálculo da gorjeta e do valor total de forma correta. É muito positivo notar que você foi além do solicitado, implementando validações de entrada com o bloco try-except e criando uma estrutura de repetição para permitir que o usuário realize múltiplos cálculos sem reiniciar o programa.

A divisão do código em funções demonstra uma boa compreensão de organização e modularidade, o que facilita a leitura e a manutenção futura do software.

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