Criando uma Calculadora de Gorjetas e Divisão em Python
Este artigo detalha o processo de construção de uma calculadora de gorjetas e divisão utilizando a linguagem de programação Python. Este projeto prático é excelente para quem deseja aprimorar suas habilidades em Python. Exploraremos duas abordagens distintas: primeiramente, implementaremos a calculadora como uma ferramenta de linha de comando e, posteriormente, como uma aplicação com Interface Gráfica de Usuário (GUI).
Pré-visualização
O desenvolvimento do aplicativo será abordado de duas maneiras. Inicialmente, criaremos um script Python simples, capaz de interagir com o usuário através do terminal, solicitando informações e exibindo os resultados. Na segunda fase, construiremos uma Interface Gráfica do Usuário, utilizando a biblioteca Tkinter, para uma experiência mais visual e interativa.

Especificação do Programa
A calculadora receberá três dados como entrada:
- O valor total da conta.
- A porcentagem da gorjeta a ser aplicada.
- O número de pessoas que dividirão a conta.
Com base nesses dados, o programa calculará e apresentará:
- O valor da contribuição de cada pessoa referente à conta.
- O valor da contribuição de cada pessoa referente à gorjeta.
- O valor total que cada pessoa deverá pagar (conta + gorjeta).
Algoritmo
O funcionamento da calculadora seguirá um algoritmo simples e direto:
- Obtenha as entradas: valor da conta (
bill_amount), porcentagem da gorjeta (tip_percentage) e número de pessoas (number_of_people). - Calcule o valor total da gorjeta:
bill_amount * tip_percentage / 100. - Calcule a contribuição de cada pessoa para a conta:
bill_amount / number_of_people. - Calcule a contribuição de cada pessoa para a gorjeta:
valor_da_gorjeta / number_of_people. - Calcule o valor total a ser pago por pessoa somando a contribuição da conta e da gorjeta.
Pré-requisitos
Para acompanhar este tutorial, é necessário possuir conhecimentos básicos da linguagem de programação Python, incluindo funções e classes. Além disso, o Python deve estar instalado em seu sistema. Caso não esteja, visite o site oficial do Python para realizar o download e a instalação. Uma alternativa é utilizar o compilador Python online disponível em etechpt.com, que permite executar código Python diretamente no navegador.
Calculadora via Linha de Comando
Criação da Pasta de Projeto
Inicialmente, crie uma pasta vazia em seu computador para organizar os arquivos do projeto. No sistema Ubuntu 22.04, por exemplo, você pode usar o terminal com os seguintes comandos:
mkdir calculadora-gorjeta-divisao && cd calculadora-gorjeta-divisao
Criação do Arquivo Python
Em seguida, crie o arquivo onde o código Python será escrito. Utilize o comando:
touch main.py
Abertura do Arquivo com Editor de Código
Abra o arquivo com seu editor de código preferido. Para fins de demonstração, utilizaremos o editor nano, que é baseado em terminal:
nano main.py
Recebimento de Dados de Entrada
Adicione as seguintes linhas ao início do arquivo para receber e formatar os dados de entrada:
# Recebendo o valor da conta como um número de ponto flutuante
bill_amount = float(input("Valor da conta: "))
# Recebendo a porcentagem da gorjeta como um número de ponto flutuante
tip_percentage = float(input("Porcentagem da gorjeta: "))
# Recebendo o número de pessoas como um número inteiro
number_of_people = int(input("Número de pessoas: "))
Essas linhas garantem que os valores fornecidos pelo usuário sejam convertidos para os tipos numéricos apropriados.
Cálculo da Gorjeta
Calcule o valor total da gorjeta multiplicando a porcentagem pelo valor da conta:
tip_amount = bill_amount * tip_percentage / 100
Cálculo da Contribuição Individual
Divida o valor da conta e o valor da gorjeta pelo número de pessoas para obter a contribuição individual de cada um:
# Calculando a contribuição de cada pessoa para a conta bill_contribution = bill_amount / number_of_people # Calculando a contribuição de cada pessoa para a gorjeta tip_contribution = tip_amount / number_of_people
Cálculo da Contribuição Total
Some as contribuições individuais para obter o valor total que cada pessoa deverá pagar:
total_contribution = bill_contribution + tip_contribution
Apresentação dos Resultados
Exiba os resultados para o usuário:
# Apresentando os resultados
print("Contribuição da conta por pessoa: ", bill_contribution)
print("Contribuição da gorjeta por pessoa: ", tip_contribution)
print("Total por pessoa: ", total_contribution)
Teste da Calculadora
O arquivo completo deverá ser similar a este:
# Recebendo o valor da conta como um número de ponto flutuante
bill_amount = float(input("Valor da conta: "))
# Recebendo a porcentagem da gorjeta como um número de ponto flutuante
tip_percentage = float(input("Porcentagem da gorjeta: "))
# Recebendo o número de pessoas como um número inteiro
number_of_people = int(input("Número de pessoas: "))
tip_amount = bill_amount * tip_percentage / 100
# Calculando a contribuição de cada pessoa para a conta
bill_contribution = bill_amount / number_of_people
# Calculando a contribuição de cada pessoa para a gorjeta
tip_contribution = tip_amount / number_of_people
total_contribution = bill_contribution + tip_contribution
# Apresentando os resultados
print("Contribuição da conta por pessoa: ", bill_contribution)
print("Contribuição da gorjeta por pessoa: ", tip_contribution)
print("Total por pessoa: ", total_contribution)
Execute o script usando o comando:
python3 main.py

Calculadora com Interface Gráfica (GUI)
Nesta seção, criaremos a mesma calculadora, mas com uma interface gráfica. Usaremos a biblioteca Tkinter para construir a GUI.
Configuração
Tkinter faz parte da biblioteca padrão do Python, o que significa que ele já está instalado junto com o Python. Contudo, em sistemas Linux, o Tkinter pode não vir pré-instalado para economizar espaço. Portanto, pode ser necessário instalá-lo manualmente:
sudo apt-get install python3-tk
Criação do Arquivo do Projeto
Crie um arquivo para o código da interface gráfica:
touch gui.py
Importando o Tkinter
Importe a biblioteca Tkinter no início do arquivo:
import tkinter as tk
Criação da Interface
Comece a criar os elementos da interface gráfica:
# Criando a janela
window = tk.Tk()
# Criando o título da janela
tk.Label(text="Calculadora de Gorjetas e Divisão").pack()
# Criando o campo de entrada para o valor da conta
tk.Label(text="Insira o valor da conta").pack()
ent_bill = tk.Entry(width=40)
ent_bill.pack()
# Criando o campo de entrada para a porcentagem da gorjeta
tk.Label(text="Insira a porcentagem da gorjeta").pack()
ent_tip = tk.Entry(width=40)
ent_tip.pack()
# Criando o campo de entrada para o número de pessoas
tk.Label(text="Insira o número de pessoas").pack()
ent_people = tk.Entry(width=40)
ent_people.pack()
# Criando o botão "Calcular"
btn_enter = tk.Button(text="Calcular")
Este código cria a janela principal, rótulos informativos e os campos de entrada para o usuário inserir os dados, além do botão para iniciar o cálculo.
Função para o Cálculo
Crie uma função que será executada quando o botão for clicado. Esta função obterá os valores dos campos de entrada, realizará os cálculos e exibirá o resultado na janela:
def handle_click(event):
# Obtendo os valores dos campos de entrada e convertendo para o tipo numérico correto
bill_amount = float(ent_bill.get())
tip_percentage = float(ent_tip.get())
number_of_people = int(ent_people.get())
# Calculando o valor total da gorjeta
tip_amount = bill_amount * tip_percentage / 100
# Calculando a contribuição de cada pessoa para a conta
bill_contribution = bill_amount / number_of_people
# Calculando a contribuição de cada pessoa para a gorjeta
tip_contribution = tip_amount / number_of_people
# Calculando o valor total por pessoa
total_contribution = bill_contribution + tip_contribution
# Criando a string com o resultado
output = f'Conta por pessoa: {bill_contribution} \n Gorjeta por pessoa: {tip_contribution} \n Total por pessoa: {total_contribution}'
# Criando um rótulo para exibir o resultado
tk.Label(text=output).pack()
# Atualizando a janela para mostrar as alterações
window.update()
Vinculando a Função ao Botão
Vincule a função handle_click ao evento de clique do botão:
btn_enter.bind('<Button-1>', handle_click)
btn_enter.pack()
Finalmente, adicione o loop principal da janela para que ela continue em execução:
window.mainloop()
Testando a Calculadora GUI
Execute o script com o comando:
python3 gui.py
A janela da calculadora deverá abrir:

Você pode inserir os valores e testar a calculadora:

Considerações Finais
Neste tutorial, criamos uma calculadora de gorjetas e divisão de duas formas distintas. A primeira, utilizando uma interface de linha de comando, e a segunda, com uma interface gráfica construída com Tkinter. Este tutorial demonstra como construir um projeto simples em Python, sendo um excelente ponto de partida para aprimorar suas habilidades na linguagem. Se você deseja aprofundar seus conhecimentos, considere explorar cursos online como o oferecido pelo Datacamp.
Para continuar aprendendo, você pode consultar outros tutoriais, como um guia para criar um gerador de senhas aleatórias em Python.