Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Sugestão] Resolução utilizando funções

# 1. Funções
def calcular_gorjeta(conta, porcentagem):
    return conta * (porcentagem / 100)

def calcular_total(conta, gorjeta):
    return conta + gorjeta

# 2. Entrada de dados
conta = float(input('Digite o valor total da conta: R$ '))
porcentagem = float(input('Digite a porcentagem de gorjeta: % '))

# 3. Processamento
valor_da_gorjeta = calcular_gorjeta(conta, porcentagem)
total = calcular_total(conta, valor_da_gorjeta)

# 4. Saída
print(f'\nValor da gorjeta: R$ {valor_da_gorjeta:.2f}')
print(f'Total a pagar: R$ {total:.2f}')
1 resposta

Oi, Gabriel! Tudo bem?

Agradeço por compartilhar sua sugestão de resolução utilizando funções no desafio de calcular a gorjeta em um restaurante.

A organização do seu código ficou muito boa: você separou o cálculo da gorjeta em calcular_gorjeta e o cálculo do total em calcular_total, deixando o programa mais fácil de ler, testar e ajustar depois.

Uma dica interessante para o futuro é criar uma função para validar a entrada do usuário, evitando erros quando alguém digitar um valor inválido.


def ler_numero(mensagem):
    while True:
        try:
            return float(input(mensagem))
        except ValueError:
            print('Digite um numero valido.')

conta = ler_numero('Digite o valor total da conta: R$ ')
porcentagem = ler_numero('Digite a porcentagem de gorjeta: % ')

Esse código repete a pergunta até receber um número válido, deixando o programa mais resistente a erros de digitação. Você chegou a testar sua solução com porcentagens diferentes, como 10, 15 e 20?

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