Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] Calculando a gorjeta

conta = float(input("Digite o valor da conta: "))
porcentagem_gorgeta = float(input("Digite o valor da gorgeta: "))

gorgeta = (conta/100)*porcentagem_gorgeta

print(f"Valor da gorgeta R${gorgeta:.2f}. Total a pagar R${gorgeta+conta:.2f}!")
3 respostas

Oi, Lucas! Como vai?

Agradeço por compartilhar.

Você organizou muito bem a lógica do cálculo da gorjeta, separando as entradas e aplicando a fórmula corretamente. Um ponto interessante é como você já utilizou a formatação com :.2f, que deixa a saída mais profissional e fácil de ler.

Uma dica interessante para o futuro é usar uma função para reutilizar esse cálculo em outros contextos:


def calcular_gorjeta(conta, porcentagem):
    gorjeta = (conta/100) * porcentagem
    total = conta + gorjeta
    return gorjeta, total

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

gorjeta, total = calcular_gorjeta(valor_conta, porcentagem)
print(f"Gorjeta: R${gorjeta:.2f} | Total: R${total:.2f}")

Esse código cria uma função que calcula a gorjeta e o total, facilitando reutilizar essa lógica em outros programas.

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

uma dúvida que tive ao resolver esse exercício. é sempre ideal usar funções, independente do tamanho ou complexidade do código programado?

eu tinha utilizado uma função, mas achei tão simples que desisti da função

solução!

Oi, Lucas!

É normal sentir que uma função para algo tão pequeno parece "excesso de trabalho", mas a verdade é que o uso de funções vai além de apenas lidar com a complexidade.

Alguns pontos para ajudar você a decidir quando aplicar essa estrutura:

1. Clareza e Intencionalidade

Mesmo em códigos simples, uma função bem nomeada como calcular_gorjeta() diz exatamente o que aquele bloco de código faz. Sem a função, quem lê o código precisa interpretar a fórmula matemática para entender o objetivo. A função transforma um "cálculo" em uma "ação" compreensível.

2. Organização e Crescimento

Imagine que, amanhã, você decida que o programa deve impedir gorjetas negativas ou que o valor deve ser arredondado de uma forma específica.

  • Sem função: Você terá que alterar o cálculo em todos os lugares onde ele aparece.
  • Com função: Você altera em um único lugar e todo o sistema se atualiza.

3. O Princípio da Responsabilidade Única

Na programação, buscamos que cada parte do código tenha uma única responsabilidade. O corpo principal do seu programa deve cuidar da interação com o usuário (pedir dados e mostrar resultados), enquanto a lógica de cálculo fica isolada. Isso torna o código mais limpo e fácil de testar.

4. Reaproveitamento

Se você decidir criar uma interface web ou um aplicativo mobile para esse mesmo cálculo, a função pode ser copiada e colada integralmente. Se o código estiver misturado com os inputs e prints, você terá que reescrever a lógica.

Quando não usar?

Se você estiver apenas testando um conceito rápido no terminal ou resolvendo um desafio de uma única linha (como um cálculo simples direto no print), a função pode ser dispensada.

Mas, criar o hábito de usar funções, mesmo nas tarefas pequenas, ajuda a exercitar o raciocínio de arquitetura de software. No seu caso, o uso da função é uma prática excelente porque separa a lógica de negócio (o cálculo) da interface (a entrada de dados).

Espero ter ajudado.

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