1
resposta

[Resolução] Calculando a gorjeta em um restaurante

import sys
def calcular_gorjeta(valor_conta: float,percentual_gorjeta: float) -> float:
    return (percentual_gorjeta / 100) * valor_conta

def calcular_total_a_pagar(valor_conta:float, valor_gorjeta:float) -> float:
    return valor_conta + valor_gorjeta

try:
    valor_conta = float(input("Digite o valor da conta: "))
    percentual_gorjeta = float(input("Digite a porcentagem de gorjeta: "))

    if valor_conta < 0 or percentual_gorjeta < 0:
        print("Erro! O valor deve ser positivo!")
        sys.exit()
  
    valor_gorjeta = calcular_gorjeta(valor_conta,percentual_gorjeta)
    valor_a_pagar = calcular_total_a_pagar(valor_conta,valor_gorjeta)
    print(f"Valor da gorjeta: R$ {valor_gorjeta}")
    print(f"Total a pagar: R$ {valor_a_pagar}")   

except ValueError as e:
    print(f"Erro! Os valores devem ser numéricos.", e)
1 resposta

Olá, Vivian! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de funções para organizar cálculos, utilizou muito bem o tratamento de exceções com try except e ainda compreendeu a importância de validar entradas negativas para garantir robustez no programa.

Uma dica interessante para o futuro é formatar os valores monetários com duas casas decimais, deixando a saída mais clara para o usuário. Assim:

print(f"Valor da gorjeta: R$ {valor_gorjeta:.2f}")
print(f"Total a pagar: R$ {valor_a_pagar:.2f}")

Isso faz com que os resultados sejam exibidos de forma padronizada e mais próxima da realidade financeira.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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