Tip and Split Calculator in Python

Cómo crear una calculadora de propinas y divisiones en Python

Publicado por
Comparte en redes sociales


Aprendamos a crear una calculadora de propinas y divisiones en Python.

Este es un gran proyecto personal para construir para practicar sus habilidades de Python. Además, este tutorial le enseñará cómo construir la aplicación de dos maneras, primero como una herramienta de línea de comandos y segundo como una herramienta GUI.

Visión

Construiremos la aplicación de dos maneras. Primero, crearemos un script de shell de Python simple que solicite al usuario una entrada y escriba la salida.

Captura de pantalla de 2023-01-05-19-30-39

En segundo lugar, le daremos al programa una interfaz gráfica de usuario utilizando Tkinter.

Captura de pantalla de 2023-01-05-15-11-29

Especificación del programa

El programa recibe tres entradas:

  • El monto de la factura
  • El porcentaje de propina
  • El número de personas que comparten la factura.

Usando estas entradas, el programa calculará la siguiente salida:

  • La contribución de todos a la factura.
  • Aporte de cada uno a la propina
  • La contribución total de todos

Algoritmo

Para lograr esto, la calculadora Tip and Split seguirá un algoritmo muy simple que se describe a continuación:

  1. Recibir entradas: bill_amount, tip_percentage, number_of_people
  2. Calcula la propina amount multiplicando el bill_amount * tip_percentage / 100
  3. dividir el bill_amount mediante number_of_people para conseguir la aportación de todos a la factura.
  4. dividir el tip_amount mediante number_of_people para obtener la contribución de todos a la propina.
  5. Finalmente, agregue las contribuciones de facturas y la propina para obtener el monto total a pagar.

condiciones previas

Para seguir este tutorial, debe conocer y comprender el lenguaje de programación Python. Para este tutorial, se requiere conocimiento de conceptos básicos, incluidas funciones y clases.

Además, Python debe estar instalado en su sistema. Si no, ve a sitio web de Python y descargarlo Alternativamente, Geekflare tiene un compilador de Python en línea donde puede ejecutar su código de Python en el navegador sin ninguna configuración de entorno.

Cree la calculadora con una interfaz de línea de comandos

Crear una carpeta de proyecto

Para comenzar, navegue a una carpeta vacía en su sistema. En mi caso, estoy usando Ubuntu 22.04, así que para crear una carpeta y acceder a ella usando la terminal; Necesito ingresar el siguiente comando:

mkdir tip-calculator && cd tip-calculator

Crear el archivo Python

A continuación, cree el archivo de secuencia de comandos en el que escribiremos la secuencia de comandos de Python. En mi caso usaré touch comando para hacerlo:

touch main.py

Abra el archivo de script con su editor de código favorito

Para comenzar a escribir el código del script, abra el archivo con su editor de código favorito. Voy a utilizar nano que es un editor de texto basado en terminal.

nano main.py

Recibir entrada

Una vez hecho esto, podemos agregar las siguientes líneas de código en la parte superior del archivo:

# Receiving input for bill amount as a floating point number
bill_amount = float(input("Bill amount: ")) 

# Receiving input for the tip percentage as a floating point number
tip_percentage = float(input("Tip percentage: "))

# Receiving the input for the number of people as an integer
number_of_people = int(input("Number of people: "))

Básicamente, esto recibe la entrada y convierte el tipo de datos de cada entrada en una cadena al tipo más apropiado.

Calcular el monto de la propina

A continuación, calculamos el monto de la propina multiplicando el porcentaje de la propina por el monto de la factura.

tip_amount = bill_amount * tip_percentage / 100

Divide la cuenta y la propina para obtener la contribución de cada persona a ambos

# Calculating each person's bill contribution
bill_contribution = bill_amount / number_of_people

# Calculating each person's tip contribution
tip_contribution = tip_amount / number_of_people

Calcular la contribución total

Luego sume las contribuciones individuales para determinar la contribución total por persona.

total_contribution = bill_contribution + tip_contribution

Mostrar los resultados

Finalmente, envíe los resultados al usuario.

# Displayinnng the results
print("Bill contribution per person: ", bill_contribution)
print("Tip contribution per person: ", tip_contribution)
print("Total contribution per person: ", total_contribution)

Prueba de calculadora de propina y división

Finalmente, su archivo de script debería verse así:

# Receiving input for bill amount as a floating point number
bill_amount = float(input("Bill amount: ")) 

# Receiving input for the tip percentage as a floating point number
tip_percentage = float(input("Tip percentage: "))

# Receiving the input for the number of people as an integer
number_of_people = int(input("Number of people: "))

tip_amount = bill_amount * tip_percentage / 100

# Calculating each person's bill contribution
bill_contribution = bill_amount / number_of_people

# Calculating each person's tip contribution
tip_contribution = tip_amount / number_of_people

total_contribution = bill_contribution + tip_contribution

# Displaying the results
print("Bill contribution per person: ", bill_contribution)
print("Tip contribution per person: ", tip_contribution)
print("Total contribution per person: ", total_contribution)

En este punto, siéntete libre de probar tu aplicación usando el siguiente comando:

python3 main.py
Captura de pantalla de 2023-01-05-19-32-16

Cree una calculadora de propinas y divisiones con GUI

En la siguiente parte de este tutorial, implementaremos la misma aplicación pero con una interfaz gráfica de usuario. Para construir la GUI usaremos un paquete llamado Tkinter.

Leer también  Considering a Tech-Forward Business? Watch Out for These Pitfalls

Establecimiento

Tkinter es un paquete integrado en la biblioteca estándar de Python. Esto significa que se instaló de manera predeterminada cuando instaló Python.

Sin embargo, en máquinas Linux con Python instalado por defecto, TKinter no está preinstalado para ahorrar espacio. Por lo tanto, debe instalarlo manualmente con el siguiente comando:

sudo apt-get install python3-tk

Crear un archivo de proyecto

Para comenzar, cree un archivo donde se almacenará el script de Python. Después de crear el archivo, ábralo con su editor de texto favorito.

touch gui.py

Importar Tkinter

A continuación, importe el paquete Tkinter agregando la siguiente línea en la parte superior del archivo.

import tkinter from tk

Crear la interfaz de usuario

Entonces podemos comenzar a crear la interfaz de usuario.

# Creating the window
window = tk.Tk()

# Creating the Window title
tk.Label(text="Tip and Split Calculator").pack()

# Create an input field
tk.Label(text="Enter bill amount").pack()
ent_bill = tk.Entry(width=40)
ent_bill.pack()

# Create and entry for the tip percentage
tk.Label(text="Enter tip percentage").pack()
ent_tip = tk.Entry(width=40)
ent_tip.pack()

# Create an entry for the number of people
tk.Label(text="Enter the number of people").pack()
ent_people = tk.Entry(width=40)
ent_people.pack()

# Create the Enter button
btn_enter = tk.Button(text="Enter")

El código anterior creó una ventana que contenía todos los widgets de la interfaz de usuario. Además, creó una etiqueta que servirá como título de la ventana.

A continuación, creó etiquetas y campos de entrada para las tres entradas: bill_amount, tip_percentage y number_of_people. Finalmente, creó un botón en el que el usuario hará clic para ejecutar el cálculo.

Crear una función para calcular las salidas.

Después de eso, podemos crear una función para manejar el clic del botón Enter. Esta función tomará los valores de los campos de entrada y los utilizará para calcular las salidas utilizando el algoritmo mencionado anteriormente. Finalmente, creará una etiqueta para mostrar la salida y actualizar la ventana.

def handle_click(event):
    # Collecting the inputs from the entry fields using the get method
    # Also type casting the inputs from the default string data type
    bill_amount = float(ent_bill.get())
    tip_percentage = float(ent_tip.get())
    number_of_people = int(ent_people.get())
    
    # Calcuating the amount to be paid as a tip
    tip_amount = bill_amount * tip_percentage / 100
    
    # Calculating the bill contribution of each person at the table
    bill_contribution = bill_amount / number_of_people 

    # Calculating the tip contribution of each person at the table
    tip_contribution = tip_amount / number_of_people

    # Calculating the total contribution of each person
    total_contribution = bill_contribution + tip_contribution

    # Creating the output string
    output = f'Bill per person: {bill_contribution} \n Tip per person: {tip_contribution} \n Total per person: {total_contribution}'
    
    # Creating a label for the output text
    tk.Label(text=output).pack()

    # Updating the window to reflect the UI changes
    window.update()

El código de función anterior se ha explicado con comentarios que explican cada paso importante.

Leer también  What Is a Work Order? [+ 4 Templates]

Adjuntar controlador de eventos al botón

A continuación, vinculamos el controlador de eventos al evento de clic de botón. El evento de clic de botón en Tkinter está representado por la cadena ‘<Button-1&gt;‘. Para vincular el evento al controlador de eventos, usamos el método de vinculación del botón. Agregue esta línea de código debajo de la definición de la función:

btn_enter.bind('<Button-1&gt;', handle_click)
btn_enter.pack()

Finalmente, para mantener la ventana en funcionamiento, llamamos al mainloop método de window cosa.

window.mainloop()

¡Y hemos terminado!

Prueba de calculadora de propina y división

Puede ejecutar la aplicación usando el siguiente comando:

python3 gui.py

Esto debería abrir la ventana de la siguiente manera:

Captura de pantalla de 2023-01-05-20-27-26

Puede ejecutar la calculadora con entrada de muestra:

Captura de pantalla de 2023-01-05-20-29-09

Ultimas palabras

En este tutorial, hemos creado una calculadora de propinas y divisiones de dos maneras. El primero utiliza una herramienta CLI basada en terminal. La segunda es una herramienta GUI que utiliza Tkinter de Python. Este tutorial muestra cómo crear un proyecto de Python simple. Si necesita repasar o repasar sus habilidades con Python, aquí hay un Cursos de campo de datos.

Luego puede averiguar cómo crear un generador de contraseñas aleatorias en Python.



Source link

Si quiere puede hacernos una donación por el trabajo que hacemos, lo apreciaremos mucho.

Direcciones de Billetera:

- BTC: 14xsuQRtT3Abek4zgDWZxJXs9VRdwxyPUS 

- USDT: TQmV9FyrcpeaZMro3M1yeEHnNjv7xKZDNe 

- BNB: 0x2fdb9034507b6d505d351a6f59d877040d0edb0f

- DOGE: D5SZesmFQGYVkE5trYYLF8hNPBgXgYcmrx 

También puede seguirnos en nuestras Redes sociales para mantenerse al tanto de los últimos post de la web:

-Twitter

- Telegram

Disclaimer: En Cryptoshitcompra.com no nos hacemos responsables de ninguna inversión de ningún visitante, nosotros simplemente damos información sobre Tokens, juegos NFT y criptomonedas, no recomendamos inversiones

Leer también  Cómo detectar múltiples excepciones en Python: una guía sencilla

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *