criei uma treinando tratamento de exceções e erros além de encapsular a conta em uma função

criei uma treinando tratamento de exceções e erros além de encapsular a conta em uma função

Olá, Natanael! Como vai?
Parece que você está no caminho certo com a sua calculadora de gorjeta. Vou destacar alguns pontos do seu código que estão bem legais e algumas sugestões de melhoria:
Função calcular_gorjeta:
Tratamento de exceções:
try e except para capturar erros de entrada, o que é ótimo para evitar que o programa quebre com entradas inválidas.Validações:
Sugestões:
Aqui está uma pequena modificação na parte de impressão para formatar a gorjeta:
print(f'Valor da gorjeta: R$ {valor_gorjeta:.2f}')
print(f'Total a pagar: R$ {total:.2f}')
Espero ter ajudado e bons estudos!