1
resposta

Calculando conta e gorjeta em restaurante

def gorjeta(valor, percentual):
    return valor * percentual

def valor_total(valor, gorjeta):
    return valor + gorjeta  

def main():
    try:
        print('+' * 40, 'FECHAMENTO DE CONTA' , '+' * 40 )
        valor = float(input('Digite o valor do consumo: '))
        percentual = float(input('Digite o percentual de gorjeta:'))/100
        valor_gorjeta = gorjeta(valor, percentual)
        total_pagar = valor_total(valor, valor_gorjeta)
        print(f'\nO valor da gorjeta é: R$ {valor_gorjeta:.2f}.')  
        print(f'O total a pagar é: R$ {total_pagar:.2f}.')  
    except ValueError:
        print('Atenção: Digite apenas números.')
        main()
    except NameError:
        print('\nTente novamente.')
        main()

try:
    main()
finally:
    print('\nEm caso de dúvidas, procure pelo gerente.')

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

Boa tarde Moises! Tudo bem?

Seu código está ótimo! Parabéns! Dá para ver que já está se preocupando em organizar seu código através de funções que abstraem lógica. Muito bom.

Se me permitir uma dica, as funções na programação são associadas a AÇÕES. Logo, é de boa prática que as funções contenham seus nomes no infinitivo e sempre com alguma ação, até para melhor clareza. Por exemplo: uma função gorjeta pode se referir a inúmeras coisas. O que ele faz? Calcula gorjeta? Aumenta a gorjeta? Não consigo entender apenas pelo nome. Talvez CalcularGorjeta seja mais intuitivo e mantém boas práticas de desenvolvimento que serão muito valorizadas!

Exemplo:

def calcular_gorjeta(valor, percentual):
   return valor * percentual

def calcular_total_da_conta(valor, gorjeta):
   return valor + gorjeta  

def main():
   try:
       print('+' * 40, 'FECHAMENTO DE CONTA' , '+' * 40 )
       
       valor = float(input('Digite o valor do consumo: '))
       percentual = float(input('Digite o percentual de gorjeta:')) / 100
       
       valor_gorjeta = calcular_gorjeta(valor, percentual)
       total_pagar = calcular_total_da_conta(valor, valor_gorjeta)
       
       print(f'\nO valor da gorjeta é: R$ {valor_gorjeta:.2f}.')  
       print(f'O total a pagar é: R$ {total_pagar:.2f}.')  
   except ValueError:
       print('Atenção: Digite apenas números.')
       main()
   except NameError:
       print('\nTente novamente.')
       main()

try:
   main()
finally:
   print('\nEm caso de dúvidas, procure pelo gerente.')

Isso deixa seu código mais legível e mais elegante além de mostrar pros recrutadores que você se importa com qualidade de leitura e manutenção do código!