Eu fiz dois códigos, o primeiro é a versão mais simples e direta de obter os dados e o segundo é uma melhora, tentando encapsular processos.
Segue os códigos:
valor = float(input("Digite o valor da conta: R$"))
gorgeta = float(input("Digite o valor que deseja dar de gorjeta: "))
calculo_gorjeta = (gorgeta/100) * valor
total = valor + calculo_gorjeta
print(f'O valor da gorjeta é de R$ {calculo_gorjeta:.2f}')
print(f'O valor total a ser pago é de R$ {total:.2f}')
def porcentagem_gorjeta(a):
return (a/100)
def calcular_gorjeta( valor, porcentagem):
gorj = porcentagem_gorjeta(porcentagem)
return gorj * valor
def calculo_total(valor, gorjeta):
parcial = calcular_gorjeta(valor, gorjeta)
return valor + parcial
try:
valor = float(input('Digite o valor da conta: '))
gorjeta = float(input('Digite a porcentagem da gorjeta que deseja dar: '))
porcentagem_gorjeta(gorjeta)
calculo_gorjeta = calcular_gorjeta(valor, gorjeta)
total = calculo_total(valor, gorjeta)
print('\n')
print('='*30, '\n')
print(' CÁLCULO DE GORJETA \n')
print(f'O valor da gorjeta é de R$ {calculo_gorjeta:.2f}')
print(f'O valor total a ser pago é de R$ {total:.2f}\n')
print('='*30)
except ValueError:
print('[ERRO] Por favor, digite um valor numérico válido.')