Ejemplos de clases de Python

Ejemplos de clases de Python
Python es un lenguaje de programación muy popular para desarrollar diferentes tipos de aplicaciones, como aplicaciones basadas en texto, aplicaciones de escritorio, aplicaciones web, etc. Python admite la programación estructurada y la programación orientada a objetos. Este tutorial tiene la intención de enseñar cómo usar las clases de Python mostrando un ejemplo real de clases de Python.

Algunas clases de Python relacionadas se han utilizado para desarrollar la "Aplicación de la tienda de pasteles" basada en el texto aquí.

Características del proyecto

  • Muestre la lista de pasteles de la tienda con detalles
  • Agregue uno o más pasteles al carrito para su compra
  • Retire uno o más pasteles del carrito
  • Confirmar el pedido
  • Cancelar el pedido
  • Cierra el programa

Requisitos previos

  • Python 3.Se requiere una versión de 8+ para instalar en el sistema operativo para iniciar el trabajo del proyecto.
  • El conocimiento básico de la programación orientada a objetos de Python requerirá comprender correctamente el script utilizado en este tutorial.

Implementación de la "aplicación de la torta"

Se utilizarán tres clases para implementar las funcionalidades de esta aplicación. Estos son "comercio","orden", y "cliente". El "comercio"La clase es la clase principal que se utilizará para mostrar el menú principal de la aplicación, mostrar la lista de pasteles de la tienda y verificar si el pastel seleccionado por el usuario existe en la tienda. El "orden"La clase es una clase infantil que se creará heredando de la"comercioClase ", y se usará para agregar artículos de pastel en el carrito, retire los artículos del pastel del carrito y muestre los artículos seleccionados del carrito. El "cliente"La clase es otra clase infantil que se creará al heredar del"orden"Clase, y se utilizará para mostrar los detalles de compra con la información del cliente. El siguiente diagrama muestra cómo funcionará esta simple aplicación:

Almacenar la información del producto

Cualquier aplicación popular del servidor de bases de datos se puede adjuntar con la aplicación Python para almacenar datos. Sin embargo, no se ha utilizado ningún servidor de base de datos en esta aplicación para mantenerlo simple, y se ha utilizado un archivo de texto para almacenar los datos. Crear un archivo de texto llamado productos.TXT y agregue la siguiente información del producto al archivo antes de comenzar la siguiente parte de esta aplicación. El usuario seleccionará el artículo de la torta en este archivo para agregar al carrito para comprar. Cada campo está separado por una coma aquí:

productos.TXT

ID, nombre, precio, fecha de recuperación, fecha de vencimiento
01, pastel de chocolate, 25, 01-06-22, 07-06-22
02, pastel de café, 22, 02-06-22, 10-06-22
03, pastel de vainilla, 30, 03-06-22, 11-06-22
04, pastel de barro, 35, 02-06-22, 09-06-22
05, Straberry Cake, 40,03-06-22, 12-06-22

Importar los módulos necesarios

Se han utilizado tres módulos en esta aplicación para generar un número aleatorio, leer la fecha actual y crear texto colorido en el terminal. Crear un archivo de python llamado comercio.py y agregue el siguiente script al comienzo del archivo para importar los módulos. El aleatorio El módulo generará el número de pedido. El fecha El módulo leerá la fecha actual del sistema. Y el de colores El módulo generará el texto colorido.

#Importes módulos requeridos para el proyecto de taller
importar al azar
desde la fecha de importación de fecha y hora
de colored import fg, bg, attr

Crear clase de "tienda"

Después de importar los módulos necesarios, agregue el script para definir el "comercio"Clase en el comercio.py archivo. Esta es la clase base de esta aplicación que contiene cuatro variables de clase y tres métodos. El propósito de estas variables y los métodos se mencionan a continuación.

Variables

CART_Items:

Es una variable de lista, y se utilizará para almacenar el artículo de la torta agregado por el usuario. Se agregará un nuevo elemento a la lista cuando se seleccione un nuevo elemento de pastel para agregar al carrito, y se eliminará un elemento existente si el usuario selecciona un elemento de pastel para eliminar el carrito. Esta variable se borrará después de completar la compra o cancelar la compra.

Cart_amount:

Es una variable entera, y se utilizará para almacenar la suma del precio del producto agregado al carrito. El valor de esta variable se incrementará cuando se agrega un nuevo artículo de pastel al carrito, y el valor de esta variable disminuirá cuando se elimine un artículo de la torta del carro. Esta variable se inicializará a 0 después de completar o cancelar la compra.

Cust_balance:

Es una variable entera y se utilizará para almacenar el valor agregado en efectivo por el cliente. El valor de esta variable aumentará cuando el usuario agrega el valor en efectivo, y el valor de esta variable disminuirá cuando la tarea de compra se complete con éxito.

respuesta:

Es una variable de cadena, y se utilizará para tomar el valor de entrada del usuario para hacer la tarea particular.

Métodos

display_menu ()::

Este método se ha definido para mostrar la lista de menú de la aplicación. Si el usuario tipos "1", Entonces el contenido del productos.TXT se mostrará el archivo. Si el usuario tipos "2", Luego aparecerá el mensaje de entrada para tomar el nombre del producto. Si el nombre del producto proporcionado por el usuario existe en el archivo, entonces el nombre del producto se agregará al Cart_items lista, y el precio del producto se agregará con CART_MOUNT. Si el usuario tipos "3", Entonces la aplicación será finalizada. La función fg () se ha utilizado en el método para imprimir el texto coloreado en el terminal.

display_products ()::

Este método se ha definido para leer el productos.TXT File Line by Line, divide cada línea en función de la coma usando la función split () y guárdela en una variable de lista. A continuación, la variable de lista se iterará utilizando un bucle for para imprimir el contenido del archivo en un formato legible por humanos.

check_products ()::

Este método se ha definido para verificar si el nombre del producto tomado del usuario existe en el productos.TXT archivo. Si el nombre del producto existe en el archivo, entonces el precio de ese producto en particular se agregará con el valor del CART_MOUNT variable, y la verdad el valor se devolverá desde la función. El mensaje, "El producto no existe."Se imprimirá si el nombre del producto no existe en el archivo y el FALSO el valor se devolverá desde la función. Este método se llamará cada vez que se tome un nombre de producto del usuario para agregar al carrito.

El guión del "comercioLa clase se proporciona a continuación:

"
La clase 'Shop' se define aquí para mostrar el menú principal, mostrar la lista de productos,
y verifique que el producto exista en el archivo o no
"
Tienda de clases:
# Declarar lista para almacenar el producto seleccionado
CART_Items = []
# Inicializar la cantidad de carrito
CART_AMOUNT = 0
# Inicializar el saldo del cliente
cust_balance = 0
# Inicializar la variable que tomará la entrada del usuario
respuesta = "
# Definir función para mostrar el menú principal
Def display_menu (self):
Imprimir ("\ n%s%s%s"%(FG (150), '*** Bienvenido a nuestra torta ***', attr (0))))
imprimir ("\ n%s%s"%(FG (170), '1. Mostrar productos ... '))
Imprimir ("2. Seleccionar producto… ")
Imprimir ("3. Salida")
ser.respuesta = entrada ("\ ntype 1 o 2 o 3:")
# Definir la función para leer y mostrar el producto del archivo de texto
Def display_products (self):
Imprimir ("\ nthe List of Products se dan a continuación: \ n")
con productos abiertos ('.txt ') como f:
línea = F.Readline ()
# Imprima el encabezado del archivo
print ("id \ tname \ t \ tprice \ tmaking date \ thereperi fecha")
Mientras que la línea:
# Inicializar contador para establecer el espacio entre los campos
contador = 0
# Lea cada línea desde el archivo
línea = F.Readline ()
# Divide cada línea basada en la coma (,) y almacena en una lista
fieldList = list (línea.dividir(","))
imprimir ('\ t')
# Lea cada valor de la lista e imprima
Para Val en Fieldlist:
Si contador == 0:
espacio = "
demás:
espacio = '\ t'
contador = contador + 1
Si contador == 3:
val = '$' + Val
Imprimir (Val, End = Space)
# Definir la función para verificar el producto seleccionado existe en el archivo o no
Def check_products (self, búsqueda):
# Abra el archivo para leer
con productos abiertos ('.txt ') como f:
# Lea cada línea del archivo
Para la línea en F:
# Divide el valor de línea basado en coma (,)
fieldList = list (línea.dividir(","))
Para Val en Fieldlist:
# Verifique la coincidencia del producto seleccionado con el valor o no
Si busca == Val.banda():
# Agregue el precio del producto con la cantidad de carrito si el valor del grojo se encuentra
ser.Cart_amount = self.CART_AMOUNT + INT (FieldList [2].banda())
Devolver verdadero
# Imprimir mensaje si el producto seleccionado no existe en el archivo
Imprimir ("El producto no existe.")
falso retorno

Crear clase de "pedido"

Después de agregar el "comercio"Clase, agregue el script para definir el"orden"Clase en el comercio.py archivo. Esta es una clase infantil heredada de la "comercio"Clase que contiene tres métodos. El propósito de estos métodos se menciona a continuación.

Métodos

añadir a la cesta():

Este método se ha definido para agregar el nombre del producto al Cart_items Lista si el producto existe en el productos.TXT archivo e imprima un mensaje después de agregar el producto al carrito. Este método se llamará cuando el usuario seleccione la segunda opción ("Seleccione Producto ...") del menú principal escribiendo "2" o la primera opción del segundo menú ("Agregar producto") escribiendo "1".

remove_from_cart ()::

Este método se ha definido para eliminar el producto del Cart_items Lista si el nombre del producto tomado del usuario existe en el Cart_items. Este método se llamará cuando el usuario seleccione la segunda opción del segundo menú ("eliminar el producto") escribiendo "2". Después de eliminar el producto, el precio del producto eliminado se deducirá del CART_MOUNT variable. "El producto no existe en el carrito.Se imprimirá el mensaje si el nombre del producto tomado del usuario no existe en el Cart_items lista.

display_cart ()::

Este método se ha definido para mostrar el contenido del Cart_items lista, el valor del CART_MOUNT, y los segundos elementos del menú para agregar el producto o eliminar el producto o confirmar el pago o cancelar la compra. Si el Cart_items La lista está vacía, luego el mensaje, "Tu carrito esta vacío." será mostrado. Este método se llamará cuando se complete la tarea de agregar un producto o eliminar un producto. Este método devolverá los valores de la lista CART_Items si el carrito no está vacío o devuelve 0 si el carrito está vacío.

El guión del "ordenLa clase se proporciona a continuación:

"
La clase 'Order' se define para agregar producto al carrito, eliminar el producto
desde el carrito y muestra el elemento del carrito
"
Orden de clase (tienda):
# Definir la función para agregar producto al carrito
def add_to_cart (self, elemento):
# Agregar producto al carrito
ser.Cart_items.adjuntar (artículo)
imprimir ("%s se agrega en el carrito." %(artículo))
# Definir la función para eliminar el producto del carrito
Def remove_from_cart (self, obj):
item = input ("Ingrese el nombre del producto:")
Si el artículo en OBJ.CART_Items:
# Eliminar el producto del carrito
obj.Cart_items.remover el artículo)
Imprimir ("El producto se elimina del carrito")
# Abra el archivo para buscar el precio del producto
con productos abiertos ('.txt ') como f:
Para la línea en F:
fieldList = list (línea.dividir(","))
Para Val en Fieldlist:
Si el elemento == val.banda():
# Eliminar el precio del producto eliminado del monto del carrito
obj.Cart_amount = obj.CART_AMOUNT - INT (FieldList [2].banda())
demás:
Imprimir ("El producto no existe en el carrito.")
# Definir la función para mostrar los elementos del carrito
Def display_cart (self, obj):
# Verifique la cantidad de carrito para descubrir que el carrito está vacío o no
Si obj.CART_AMOUNT> 0:
# Muestra los elementos del carrito agregado
imprime ("\ nyou ha agregado los siguientes elementos en su carrito: \ n")
para val en uno mismo.CART_Items:
Imprimir (Val)
# Imprimir la cantidad total del carrito
Impresión ("\ n%s%s%d%s"%(FG (25), 'Monto total: $', OBJ.Cart_amount, attr (0)))
# Muestra el segundo menú
imprimir ("\ n1. Agregar producto")
Imprimir ("2. Eliminar el producto ")
Imprimir ("3. Confirmar pago")
Imprimir ("4. Cancelar")
Ans = input ("\ ntype 1 o 2 o 3 o 4:")
RETURN ANS
demás:
# Imprimir mensaje si el carrito está vacío
Imprimir ("Tu carro está vacío.")
regresar 0

Crear clase de "cliente"

Después de agregar el "orden"Clase, agregue el script para definir el"cliente"Clase en el comercio.py archivo. Esta es otra clase infantil heredada de la "ordenClase "que contiene el método del constructor y un método definido por el usuario. El propósito de estos métodos se menciona a continuación.

Métodos:

Método de constructor

El método del constructor se define por __init __ (). Supongamos que el usuario selecciona la tercera opción del segundo menú ("confirmar el pago"). En ese caso, el constructor del "clienteSe llamará a la clase para inicializar la información del cliente en el momento de la creación de objetos del "cliente"Clase y competir por la tarea de compra. Este método tomará cuatro argumentos. Estos son nombre, dirección, teléfono y efectivo.

comprar_info ():

Este método se ha definido para mostrar los detalles de compra que contienen el número de pedido, la fecha del pedido, el nombre del cliente, la dirección del cliente, el teléfono del cliente, la lista de productos comprados y el precio total de todos los productos comprados. Aquí, el número de pedido se generará utilizando la función Random (). Este método se llamará si el valor agregado en efectivo por el usuario es más o igual al valor de el CART_MOUNT variable.

El guión del "clienteLa clase se proporciona a continuación:

"
ID de clase 'Cliente' definida para mostrar la información de compra
Después de confirmar el pago
"
Cliente de clase (pedido):
# Definir constructor para inicializar la información del cliente
def __init __ (self, nombre, dirección, teléfono, efectivo):
nombre = nombre
dirección = dirección
contact_no = teléfono
add_cash = efectivo
# Definir función para mostrar la información de compra con detalles del cliente
Def compra_info (self, obj):
# Gnerate un número de pedido aleatorio
Order_no = aleatorio.Random ()*100000000
orden_no = redonde (orden_no)
# Iniciar la fecha de pedido
hoy = fecha.hoy()
orden_date = hoy.strftime (" %b %d, %y")
# Información de compra de impresión
Imprimir ("\ nyour La información de compra se proporciona a continuación: \ n")
Imprimir ("Pedido no: %s" %Order_no)
Imprimir ("Fecha de pedido: %S" %Order_Date)
Imprimir ("Nombre del cliente: %s" %Nombre)
Imprimir ("Dirección del cliente: %S" %Dirección)
Imprimir ("Teléfono del cliente No: %S" %Contact_NO)
# Impresión de información del producto comprado
Imprimir ("\ Npurchaded Lista de productos: \ n")
para val en uno mismo.CART_Items:
Imprimir (Val)
Impresión ("\ n%s%s%d%s"%(FG (25), 'Monto total: $', OBJ.Cart_amount, attr (0)))
Imprimir ("Gracias.")

Crear objetos

Después de definir las clases de aplicación necesarias, agregue el script para crear objetos para usar las variables de clase y llame a los métodos para completar la implementación de la "aplicación de la tienda de pasteles". Al principio, el objeto del "comercio"La clase será definida, y el display_menu () El método se llamará utilizando este objeto para mostrar el menú principal. En el script, el primer bucle infinito se ha utilizado para mostrar el menú principal al comienzo de la aplicación y después de confirmar o cancelar la compra. Este bucle se terminará y la aplicación se cerrará cuando el usuario seleccione la tercera opción ("Salir") del menú principal. El segundo bucle infinito se ha utilizado para agregar los productos al carrito hasta que los usuarios tipos "ninguno" y muestra el segundo menú después de agregar o quitar un producto al carrito. Este bucle finalizará si el usuario selecciona la tercera opción ("Confirmar pago") o cuarto ("Cancelar") del segundo menú. Supongamos que el usuario selecciona la tercera opción del segundo menú y la cantidad en efectivo agregada por el usuario es menor que el CART_MOUNT valor. Luego, el segundo menú aparecerá nuevamente mostrando el mensaje "No tienes suficiente equilibrio.". Ambos Cart_items y CART_MOUNT Los valores se borrarán después de terminar el segundo bucle infinito para realizar la próxima compra. El guión de esta parte se proporciona a continuación:

# Declarar objeto de la clase 'Tienda'
objshop = shop ()
# Declara el bucle infinito para mostrar el menú repetidamente
# hasta que el usuario presione '3'
Mientras que es cierto:
# Muestra el menú principal
objeco.display_menu ()
# Establecer el valor inicial para el remove_item
eliminar_Item = falso
# Muestra el menú principal si el usuario presiona '1'
Si objshop.respuesta == '1':
objeco.display_products ()
# Muestra la opción de compra si el usuario presiona '2'
Elif objshop.respuesta == '2':
# Declarar objeto de la clase 'Orden'
objorder = orden ()
# Declarar el bucle infinito para mostrar el segundo menú repetidamente
# hasta que el usuario presione '3' o '4'
Mientras que es cierto:
# Tomar el nombre del producto para agregar al carrito si el valor de remove_item es falso
if remove_item == falso:
item = input ("\ ntype el nombre del producto:")
if elemento == 'Ninguno':
# Muestra el carrito después de agregar o quitar el producto
return_val = objorder.display_cart (objshop)
# Terminar desde el bucle si el carrito está vacío
Si return_val == 0:
romper
Elif return_val == '1':
elemento = entrada ("Escriba el nombre del producto:")
# Verifique que el producto exista en los productos.archivo txt o no
pro_exist = objshop.check_products (elemento)
# Agregue los productos al carrito si el producto existe
Si pro_exist == verdadero:
objeción.add_to_cart (elemento)
eliminar_Item = falso
Elif return_val == '2':
# Eliminar el producto seleccionado del carrito
return_val = objorder.remove_from_cart (objshop)
remove_item = verdadero
Elif return_val == '3':
# Tome la información del cliente
name = input ("Ingrese su nombre:")
dirección = entrada ("Ingrese su dirección:")
contact_no = input ("Ingrese su número de contacto:")
efectivo = int (entrada ("Agregar efectivo: $"))
# Agregue el valor en efectivo con el saldo actual del cliente
objeco.cust_balance = objshop.cust_balance + efectivo
# Verifique el saldo del cliente es menor que el monto del carrito de no
Si objshop.cust_balance < objShop.cart_amount:
Imprimir ("No tienes suficiente equilibrio.")
demás:
# Crear objeto de la clase 'Cliente'
objcustomer = cliente (nombre, dirección, contact_no, efectivo)
# Imprimir la información de compra
objecustómero.compra_info (objshop)
# Deducir el monto de la compra del saldo del cliente
objeco.cust_balance = efectivo - objshop.CART_MOUNT
romper
demás:
# Imprimir mensaje si el cliente cancela la compra
Imprimir ("Has cancelado tu compra.")
romper
demás:
# Agregue los productos al carrito si el producto existe
pro_exist = objshop.check_products (elemento)
Si pro_exist == verdadero:
objeción.add_to_cart (elemento)
Imprimir ("Escriba 'Ninguno' para dejar de agregar el producto")
# Borrar la lista del carrito después de comprar o cancelar
objeco.Cart_items.claro()
# Borrar el monto del carrito después de comprar o cancelar
objeco.CART_AMOUNT = 0
# Terminar desde la aplicación si los usuarios presionan '3'
Elif objshop.respuesta == '3':
Imprimir ("\ nerminado desde la aplicación.")
salida()

Salida de la aplicación

Después de agregar todos los scripts al comercio.py Archivo en serie, puede verificar si la aplicación funciona correctamente o no. La forma de usar esta aplicación se ha mostrado en esta parte del tutorial.

Ejecutar la aplicación

Al principio, el usuario tiene que abrir el terminal e ir a la ubicación donde el productos.TXT y comercio.py se encuentran los archivos. Debe almacenar estos archivos en la misma ubicación para obtener la salida correctamente. Ejecute el siguiente comando para ejecutar la aplicación:

$ python3 shop.py

La siguiente salida aparecerá después de ejecutar el comando anterior. Este es el menú principal de esta aplicación. El usuario puede seleccionar cualquiera de las tres opciones que se muestran en la salida escribiendo "1" o "2" o "3". La lista de los productos se mostrará si el usuario tipos, "1". La solicitud de entrada para tomar el nombre del producto aparecerá si el usuario tipos, "2". La aplicación se cerrará si el usuario tipos, "3". El menú aparecerá nuevamente si el usuario escribe cualquier otro personaje.

Exhibir productos

La siguiente salida aparecerá si el usuario tipos "1". El contenido del productos.TXT El archivo se ha mostrado en esta salida. El usuario puede seleccionar cualquier nombre de pastel que se muestre en la salida para agregar al carrito, y el usuario debe seleccionar la segunda opción del menú para hacer la tarea.

Agregue el producto al carrito utilizando el menú principal

Existen dos formas en la aplicación para agregar el producto al carrito. La primera forma es seleccionar la segunda opción en el menú principal. La siguiente salida aparecerá si el usuario escribió "2". El usuario debe escribir el nombre de cualquier artículo de pastel que exista en el archivo para agregarlo al carrito.

La siguiente salida aparecerá si el usuario tipos "Pastel de lodo"Eso existe en la lista de productos. La salida muestra que el producto se ha agregado al carrito, y el usuario puede agregar otro producto escribiendo el nombre del producto nuevamente. Si el usuario no desea agregar ningún producto, entonces debe escribir "ninguno".

Aparecerá la siguiente salida si se llama otro producto "Pastel de café" está agregado:

La siguiente salida aparecerá si el valor "ninguno"Se escribe como el valor de entrada. La lista de los elementos del carrito se muestra en la salida. Se han agregado dos artículos de pastel: "Pastel de lodo" y "Pastel de café". El precio del "Pastel de lodo" es $ 35 y el "Pastel de café" es $ 22. El precio total de los pasteles es de $ 35+$ 22 = $ 57, se muestra en la salida. El segundo menú se mostró después de mostrar la información del carrito. El usuario puede agregar productos, eliminar productos, comprar los productos agregados al carrito y cancelar la compra utilizando este menú:

Agregue el producto al carrito utilizando el segundo menú

La siguiente salida aparecerá si el usuario escribió "2". El usuario debe escribir el nombre de cualquier artículo de pastel que exista en el archivo para agregarlo al carrito.

La siguiente salida aparecerá después de escribir "pastel de vainilla" como valor de entrada. El usuario puede agregar más elementos al carrito escribiendo el nombre del producto nuevamente. Si el usuario no desea agregar más productos, entonces debe escribir "ninguno" para dejar de agregar el producto al carrito.

La siguiente salida aparecerá después de escribir "ninguno"Como valor de entrada. La salida muestra que el nuevo producto "Pastel de vainilla"Se ha agregado al carro y el precio del"Pastel de vainilla"Se ha agregado con la cantidad de carrito. Entonces, el monto total ahora es de $ 57 + $ 30 = $ 87. El segundo menú ha aparecido de nuevo. El propósito de este menú se ha explicado anteriormente.

Retire el producto del carrito

La siguiente salida aparecerá si el usuario tipos "2"Como valor de entrada. El usuario debe escribir el nombre de cualquier artículo de pastel que exista en el carrito para eliminarlo del carrito. Si el usuario escribe algún valor que no exista en el carrito, se imprimirá un mensaje de error.

La siguiente salida aparecerá si el usuario tipos "Pastel de chocolate"Como un valor de entrada que existe en los productos.archivo txt pero no existe en el carrito. Entonces, el mensaje de error, "El producto no existe en el carrito.", Ha aparecido en la salida, y no se ha agregado o eliminado ningún elemento del carrito. El valor de la cantidad total del carrito no ha cambiado también.

La siguiente salida aparecerá si el usuario tipos, "Pastel de café"Como el valor de entrada que existe en el carrito. El mensaje de éxito, "el producto se elimina del carrito", se ha impreso. La salida también muestra que "Pastel de café"Se ha eliminado del carro, y el valor del precio de este artículo se ha deducido del valor de la cantidad del carro. El precio del "Pastel de café"Es $ 22. Entonces, el monto total del carrito ahora es de $ 87 - $ 22 = $ 65.

Aparecerá la siguiente salida si se eliminan todos los elementos del carrito. La salida muestra dos mensajes. Una es eliminar el último producto, y otro es informar al usuario que el carrito ahora está vacío. Dado que no hay producto en el carrito, el segundo menú se ha ido y el menú principal ha aparecido nuevamente.

Hacer el pago

La tercera opción del segundo menú se utiliza para confirmar la compra agregando la información del cliente y el valor de la cantidad de carrito. La siguiente salida aparecerá si el usuario tipos "3" Para seleccionar la tercera opción del segundo menú después de agregar algunos elementos de pastel al carrito. La salida muestra que se agregan dos artículos de la torta al carrito, y el precio total de los pasteles es de $ 60. La solicitud de entrada para tomar el nombre del cliente ha aparecido después de escribir el valor, "3". A continuación, otras indicaciones de entrada parecerán agregar otra información relacionada con el cliente y el monto del efectivo para comprar el producto.

En la siguiente salida, se han agregado el nombre del cliente, la dirección, el número de teléfono y el monto del efectivo. Pero el valor en efectivo adicional es menor que el precio total de los productos. El monto total del carrito fue de $ 60, y se han agregado $ 45 como valor en efectivo. El mensaje: “No tienes suficiente equilibrio."Ha aparecido por este motivo, y el pedido se canceló haciendo que el carro se viera vacío. El menú principal ha aparecido de nuevo.

La siguiente salida aparecerá si el efectivo agregado por el usuario es igual o más que el monto total del carrito. Aquí, el precio total del carrito es de $ 35, y el usuario agregó $ 100 como valor en efectivo, que es mayor que el precio total. La salida también muestra que se ha generado un número aleatorio como el número de pedido, y la fecha actual del sistema se ha imprimido como la fecha del pedido. El menú principal ha aparecido nuevamente para la próxima compra. El saldo actual del usuario es de $ 100 - $ 35 = $ 65. Si el mismo usuario vuelve a comprar cualquier artículo de pastel en la tienda, entonces el monto de la compra se deducirá del saldo actual del usuario.

La siguiente salida aparecerá si el usuario vuelve a comprar y el monto de la compra es menor que su saldo actual. Según la salida, se han agregado dos artículos de pastel al carrito y el precio total de los pasteles es de $ 47. El usuario agregó $ 0 en efectivo, pero el saldo actual del cliente es de $ 65. Entonces, el pago se ha completado con éxito, y el mensaje de "agradecimiento" se ha imprimido. El saldo actual del usuario es de $ 65 - $ 47 = $ 18.

Si el mismo usuario nuevamente agrega un elemento al carrito y el precio total del artículo es menor que el saldo actual del usuario, entonces aparecerá la siguiente salida. El saldo actual del usuario es de $ 18 después de la última transacción, pero el precio total del producto es de $ 30. Entonces, el mensaje, “No tienes suficiente equilibrio."Se ha imprimido y el pedido se ha cancelado haciendo que el carrito se vacíe.

La siguiente salida aparecerá si el usuario agrega $ 12 con los $ 18 para comprar el "Pastel de vainilla"De $ 30. El saldo actual del usuario cuesta $ 0 después de la compra.

Cancelar el pago

El usuario puede cancelar el pedido después de agregar elementos al carrito seleccionando la cuarta opción del segundo menú o eliminando todos los elementos del carrito. Aparecerá la siguiente salida si el usuario selecciona la cuarta opción del segundo menú escribiendo "4". El mensaje: “Has cancelado tu compra."Ha sido impreso para cancelar el pedido. La forma de cancelar el pedido eliminando todos los artículos del carrito se ha mostrado antes. El menú principal aparecerá después de cancelar el pedido.

Cierre la aplicación

La aplicación se puede cerrar seleccionando la tercera opción en el menú principal. La siguiente salida aparecerá si el usuario tipos "3" Para cerrar la aplicación. La aplicación ha sido rescindida por el mensaje, "rescindido de la aplicación".

Limitaciones de esta aplicación

La forma de implementar una aplicación muy simple basada en texto de las clases de Python se ha mostrado en este tutorial. Pero esta aplicación tiene algunas limitaciones, que se mencionan a continuación:

  • Ningún pedido o información del cliente se almacena permanentemente. La aplicación debe mantener registros de las ventas anteriores. Se pueden crear dos archivos de texto más para almacenar el pedido y la información del cliente.
  • No se mantiene ningún registro de acciones en esta solicitud, que es una parte importante de la solicitud de la tienda. Si algún producto está agotado, entonces se debe pasar un mensaje al usuario.
  • Si el usuario agrega el mismo producto varias veces, cada producto se agregará por separado, lo cual es ineficiente. Es esencial contar el número de cada producto en el carrito si se agrega el mismo producto varias veces.
  • No hay opción para eliminar todos los elementos del carro por comando único sin cancelar el pedido. El usuario debe eliminar cada elemento por separado para que el carrito vacíe.
  • El saldo del cliente restante no se muestra después de completar el pago del pedido. Ayudará al usuario a agregar efectivo para el próximo pedido.

*** Los lectores de este tutorial intentarán implementar las características mencionadas anteriormente para desarrollar sus habilidades de programación y hacer que la aplicación sea más eficiente para el aprendizaje.

Tutorial de video sobre este tema

Conclusión

Las pautas para implementar una aplicación simple de Python basada en texto se han proporcionado en este tutorial para los usuarios de Python novatos. Las características básicas de la aplicación del taller se utilizan para implementar en este tutorial, como la lista de productos, agregar al carrito, eliminar del carrito, el sistema de pago y cancelar el pago. Para simplificar, utilizamos el archivo de texto aquí para almacenar los datos de forma permanente. Pero cualquier aplicación de base de datos estándar, como SQLite y MySQL, se puede utilizar para administrar los datos de la aplicación de manera más eficiente.