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
Requisitos previos
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 vencimientoImportar 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 tallerCrear 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:
"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:
"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:
"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'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.pyLa 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:
*** 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.