Exemples de classes Python

Exemples de classes Python
Python est un langage de programmation très populaire pour développer différents types d'applications tels que des applications textuelles, des applications de bureau, des applications Web, etc. Python prend en charge la programmation structurée et la programmation orientée objet. Ce tutoriel est destiné à enseigner comment utiliser les classes Python en montrant un véritable exemple de classes Python.

Certaines classes de Python connexes ont été utilisées pour développer ici «l'application de coque» basée sur le texte ici.

Caractéristiques du projet

  • Afficher la liste des gâteaux de la boutique avec des détails
  • Ajoutez un ou plusieurs gâteaux au chariot à acheter
  • Retirez un ou plusieurs gâteaux du chariot
  • Confirmer la commande
  • Annuler la commande
  • Fermer le programme

Conditions préalables

  • Python 3.8+ version doit s'installer dans le système d'exploitation pour démarrer le travail du projet.
  • La connaissance de base de la programmation orientée objet de Python nécessitera de comprendre correctement le script utilisé dans ce tutoriel.

Mise en œuvre de la «demande de coque»

Trois classes seront utilisées pour implémenter les fonctionnalités de cette application. Ceux-ci sont "boutique","commande", et "client". Le "boutique"La classe est la classe parent qui sera utilisée pour afficher le menu principal de l'application, afficher la liste des gâteaux de la boutique et vérifier si le gâteau sélectionné par l'utilisateur existe dans la boutique. Le "commande«La classe est une classe d'enfants qui sera créée en héritant du«boutique«Classe, et il sera utilisé pour ajouter des articles à gâteau dans le chariot, retirer les articles à gâteau du chariot et afficher les articles sélectionnés du chariot. Le "client«La classe est une autre classe d'enfants qui sera créée en héritant du«commande«Classe, et il sera utilisé pour afficher les détails de l'achat avec les informations du client. Le diagramme suivant montre comment cette application simple fonctionnera:

Stocker les informations du produit

Toute application de serveur de base de données populaire peut être jointe avec l'application Python pour stocker des données. Cependant, aucun serveur de base de données n'a été utilisé dans cette application pour rester simple, et un fichier texte n'a été utilisé pour stocker les données. Créer un fichier texte nommé des produits.SMS et ajoutez les informations de produit suivantes dans le fichier avant de démarrer la partie suivante de cette application. L'utilisateur sélectionnera l'élément de gâteau dans ce fichier à ajouter au panier pour acheter. Chaque champ est séparé par une virgule ici:

des produits.SMS

ID, nom, prix, date de prise, date d'expiration
01, Gâteau au chocolat, 25, 01-06-22, 07-06-22
02, Cake Cake, 22, 02-06-22, 10-06-22
03, gâteau vanille, 30, 03-06-22, 11-06-22
04, Cake Mud, 35, 02-06-22, 09-06-22
05, Cake Straberry, 40,03-06-22, 12-06-22

Importer les modules nécessaires

Trois modules ont été utilisés dans cette application pour générer un nombre aléatoire, lire la date actuelle et créer du texte coloré dans le terminal. Créer un fichier python nommé boutique.py et ajouter le script suivant au début du fichier pour importer les modules. Le aléatoire le module générera le numéro de commande. Le date Le module lira la date du système actuelle. Et le coloré le module générera le texte coloré.

# Import des modules requis pour le projet de boutique
Importer au hasard
à partir de la date d'importation de DateTime
De colored import fg, bg, att

Créer une classe «Shop»

Après l'importation des modules nécessaires, ajoutez le script pour définir le «boutique"Classe dans le boutique.py déposer. Ceci est la classe de base de cette application qui contient quatre variables de classe et trois méthodes. Le but de ces variables et les méthodes sont mentionnées ci-dessous.

Variables

CART_ITEMS:

Il s'agit d'une variable de liste, et il sera utilisé pour stocker l'élément de gâteau ajouté par l'utilisateur. Un nouvel élément sera annexé à la liste lorsqu'un nouvel élément de gâteau est sélectionné pour ajouter au panier, et un article existant sera supprimé si l'utilisateur sélectionne un élément de gâteau pour retirer le panier. Cette variable sera effacée après avoir terminé l'achat ou annulé l'achat.

CART_AMOUNT:

Il s'agit d'une variable entière, et il sera utilisé pour stocker la somme du prix du produit ajouté dans le panier. La valeur de cette variable sera augmentée lorsqu'un nouvel élément de gâteau est ajouté au chariot, et la valeur de cette variable sera diminuée lorsqu'un élément de gâteau est retiré du chariot. Cette variable sera initialisée à 0 après avoir terminé ou annulé l'achat.

Cust_Balance:

Il s'agit d'une variable entière et sera utilisée pour stocker la valeur en espèces ajoutée par le client. La valeur de cette variable sera augmentée lorsque l'utilisateur ajoutera la valeur de trésorerie, et la valeur de cette variable sera diminuée lorsque la tâche d'achat sera terminée avec succès.

répondre:

Il s'agit d'une variable de chaîne, et il sera utilisé pour prendre la valeur d'entrée de l'utilisateur pour effectuer la tâche particulière.

Méthodes

display_menu ():

Cette méthode a été définie pour afficher la liste de menu de l'application. Si l'utilisateur type "1», Alors le contenu du des produits.SMS Le fichier sera affiché. Si l'utilisateur type "2», Alors l'invite d'entrée pour prendre le nom du produit apparaîtra. Si le nom du produit fourni par l'utilisateur existe dans le fichier, le nom du produit sera ajouté au CART_ITEMS Liste, et le prix du produit sera ajouté avec CART_AMOUNT. Si l'utilisateur type "3», Alors la demande sera résiliée. La fonction fg () a été utilisée dans la méthode pour imprimer le texte coloré dans le terminal.

display_products ():

Cette méthode a été définie pour lire le des produits.SMS File Line par ligne, divisez chaque ligne en fonction de la virgule à l'aide de la fonction Split () et stockez-la en variable de liste. Ensuite, la variable de liste sera itérée à l'aide d'une boucle pour imprimer le contenu du fichier dans un format lisible par l'homme.

Check_Products ():

Cette méthode a été définie pour vérifier si le nom du produit prélevé sur l'utilisateur existe dans le des produits.SMS déposer. Si le nom du produit existe dans le fichier, le prix de ce produit particulier sera ajouté avec la valeur du CART_AMOUNT variable, et la vérité la valeur sera renvoyée de la fonction. Le message, "Le produit n'existe pas."Sera imprimé si le nom du produit n'existe pas dans le fichier et le FAUX la valeur sera renvoyée de la fonction. Cette méthode sera appelée chaque fois qu'un nom de produit est tiré de l'utilisateur pour ajouter au panier.

Le script du «boutique«La classe est fournie ci-dessous:

"
La classe «Shop» est définie ici pour afficher le menu principal, afficher la liste des produits,
et vérifier que le produit existe dans le fichier ou non
"
Boutique de classe:
# Déclarer la liste pour stocker le produit sélectionné
CART_ITEMS = []
# Initialiser le montant du panier
CART_AMOUNT = 0
# Initialiser le solde du client
cust_balance = 0
# Initialiser la variable qui prendra les entrées de l'utilisateur
réponse = "
# Définissez la fonction pour afficher le menu principal
Def Display_Menu (self):
Print ("\ n% s% s% s"% (fg (150), '*** Bienvenue à notre coque ***', att (0)))
print ("\ n% s% s"% (fg (170), '1. Afficher les produits… '))
Imprimer ("2. Sélectionner un produit… ")
Imprimer ("3. Sortie")
soi.réponse = entrée ("\ ntype 1 ou 2 ou 3:")
# Définissez la fonction à lire et à afficher le produit à partir du fichier texte
Def Display_Products (self):
print ("\ nLa liste de produits est indiqué ci-dessous: \ n")
avec Open ('' Produits.txt ') comme f:
ligne = f.readLine ()
# Imprimez l'en-tête du fichier
print ("id \ tname \ t \ tprice \ tmaking date \ texpire date")
Plan de ligne:
# Initialiser le compteur pour définir l'espace entre les champs
compteur = 0
# Lisez chaque ligne du fichier
ligne = f.readLine ()
# Divisez chaque ligne en fonction de la virgule (,) et stockez dans une liste
FieldList = liste (ligne.diviser(","))
print ('\ t')
# Lisez chaque valeur de la liste et imprimez
pour Val dans FieldList:
Si compteur == 0:
espace = "
autre:
espace = '\ t'
compteur = compteur + 1
Si compteur == 3:
val = '$' + val
imprimer (val, end = espace)
# Définissez la fonction pour vérifier que le produit sélectionné existe dans le fichier ou non
def Check_Products (self, Search):
# Ouvrez le fichier pour la lecture
avec Open ('' Produits.txt ') comme f:
# Lisez chaque ligne du fichier
pour la ligne en f:
# Diviser la valeur de la ligne basée sur la virgule (,)
FieldList = liste (ligne.diviser(","))
pour Val dans FieldList:
# Vérifiez la correspondance du produit sélectionné avec la valeur ou non
Si la recherche == Val.bande():
# Ajouter le prix du produit avec le montant du panier si la valeur serch a trouvé
soi.cart_amount = self.CART_AMOUNT + int (FieldList [2].bande())
Retour vrai
# Message d'impression si le produit sélectionné n'existe pas dans le fichier
imprimer ("le produit n'existe pas.")
retourner faux

Créer une classe «Ordre»

Après avoir ajouté le «boutique«Classe, ajoutez le script pour définir le«commande"Classe dans le boutique.py déposer. Ceci est une classe d'enfants héritée du «boutique»Classe qui contient trois méthodes. Le but de ces méthodes est mentionné ci-dessous.

Méthodes

Ajouter au panier():

Cette méthode a été définie pour ajouter le nom du produit dans le CART_ITEMS liste si le produit existe dans le des produits.SMS file et imprimer un message après avoir ajouté le produit dans le chariot. Cette méthode sera appelée lorsque l'utilisateur sélectionne la deuxième option («Sélectionner le produit…») du menu principal en tapant «2» ou la première option du deuxième menu («Ajouter un produit») en tapant «1».

retire_from_cart ():

Cette méthode a été définie pour éliminer le produit du CART_ITEMS Liste si le nom du produit tiré de l'utilisateur existe dans le CART_ITEMS. Cette méthode sera appelée lorsque l'utilisateur sélectionnera la deuxième option du deuxième menu («supprimer le produit») en tapant «2». Après avoir retiré le produit, le prix du produit supprimé sera déduit du CART_AMOUNT variable. "Le produit n'existe pas dans le chariot.»Le message sera imprimé si le nom du produit tiré de l'utilisateur n'existe pas dans le CART_ITEMS liste.

display_cart ():

Cette méthode a été définie pour afficher le contenu du CART_ITEMS liste, la valeur du CART_AMOUNT, et les deuxième éléments de menu pour ajouter du produit ou supprimer le produit ou confirmer le paiement ou annuler l'achat. Si la CART_ITEMS La liste est vide, alors le message, "Votre panier est vide."Sera affiché. Cette méthode sera appelée lorsque la tâche d'ajouter un produit ou de supprimer un produit est terminée. Cette méthode renvoie les valeurs de la liste CART_ITEMS si le panier n'est pas vide ou retourne 0 si le panier est vide.

Le script du «commande«La classe est fournie ci-dessous:

"
La classe «commande» est définie pour ajouter du produit dans le panier, supprimer le produit
du chariot et afficher l'élément de panier
"
Commande de classe (magasin):
# Définissez la fonction pour ajouter du produit dans le panier
def add_to_cart (self, item):
# Ajouter du produit dans le chariot
soi.CART_ITEMS.Ajouter (article)
imprimer ("% s est ajouté dans le panier." %(article))
# Définissez la fonction pour éliminer le produit du panier
def demove_from_cart (self, obj):
item = entrée ("Entrez le nom du produit:")
Si l'article dans OBJ.CART_ITEMS:
# Retirez le produit du panier
obj.CART_ITEMS.retirer l'objet)
imprimer ("le produit est supprimé du panier")
# Ouvrez le fichier pour rechercher le prix du produit
avec Open ('' Produits.txt ') comme f:
pour la ligne en f:
FieldList = liste (ligne.diviser(","))
pour Val dans FieldList:
Si article == Val.bande():
# Supprimer le prix du produit supprimé du montant du panier
obj.CART_AMOUNT = OBJ.CART_AMOUNT - int (FieldList [2].bande())
autre:
Imprimer ("Le produit n'existe pas dans le panier.")
# Définissez la fonction pour afficher les articles du panier
Def Display_cart (self, obj):
# Vérifiez le montant du panier pour découvrir que le chariot est vide ou non
Si obj.CART_AMOUNT> 0:
# Afficher les articles de panier ajouté
print ("\ nyou avez ajouté les éléments suivants dans votre panier: \ n")
Pour Val en soi.CART_ITEMS:
Imprimer (Val)
# Imprimez le montant total du panier
Print ("\ n% s% s% d% s"% (fg (25), 'montant total: $', obj.cart_amount, att (0)))
# Afficher le deuxième menu
imprimer ("\ n1. Ajouter un produit ")
Imprimer ("2. Supprimer le produit ")
Imprimer ("3. Confirmer le paiement ")
Imprimer ("4. Annuler")
ANS = entrée ("\ ntype 1 ou 2 ou 3 ou 4:")
Retourne Ans
autre:
# Message d'impression si le chariot est vide
Imprimer ("votre chariot est vide.")
retour 0

Créer une classe «client»

Après avoir ajouté le «commande«Classe, ajoutez le script pour définir le«client"Classe dans le boutique.py déposer. Il s'agit d'une autre classe d'enfants héritée du «commande”Classe contenant la méthode du constructeur et une méthode définie par l'utilisateur. Le but de ces méthodes est mentionné ci-dessous.

Méthodes:

Méthode du constructeur

La méthode du constructeur est définie par __init __ (). Supposons que l'utilisateur sélectionne la troisième option du deuxième menu («Confirmer le paiement»). Dans ce cas, le constructeur du «client«La classe sera appelée pour initialiser les informations du client au moment de la création d'objets du«client»Classe et rivaliser pour la tâche d'achat. Cette méthode prendra quatre arguments. Ce sont le nom, l'adresse, le téléphone et l'argent.

achat_info ():

Cette méthode a été définie pour afficher les détails d'achat contenant le numéro de commande, la date de commande, le nom du client, l'adresse du client, le téléphone du client, la liste des produits achetés et le prix total de tous les produits achetés. Ici, le numéro de commande sera généré à l'aide de la fonction aléatoire (). Cette méthode sera appelée si la valeur en espèces ajoutée par l'utilisateur est supérieure ou égale à la valeur de le CART_AMOUNT variable.

Le script du «client«La classe est fournie ci-dessous:

"
ID de classe «Client» défini pour afficher les informations d'achat
Après avoir confirmé le paiement
"
Client de classe (commande):
# Définissez le constructeur pour initialiser les informations du client
DEF __INIT __ (Self, nom, adresse, téléphone, espèces):
nom = nom
adresse = adresse
contact_no = téléphone
add_cash = espèces
# Définissez la fonction pour afficher les informations d'achat avec les détails du client
def achat_info (self, obj):
# Gnerate un numéro de commande aléatoire
order_no = aléatoire.Random () * 100000000
order_no = round (order_no)
# Initiser la date de commande
Aujourd'hui = date.aujourd'hui()
order_date = aujourd'hui.strftime ("% b% d,% y")
# Informations d'achat d'impression
print ("\ nyour Les informations d'achat sont données ci-dessous: \ n")
print ("commande no:% s"% order_no)
print ("Date de commande:% s"% Order_Date)
Imprimer (nom du client:% s "% nom)
Imprimer (Adresse du client:% S "% Adresse)
Imprimer ("N ° de téléphone du client:% S"% Contact_NO)
# Imprimer les informations sur les produits achetés
Print ("\ npurchased Product List: \ n")
Pour Val en soi.CART_ITEMS:
Imprimer (Val)
Print ("\ n% s% s% d% s"% (fg (25), 'montant total: $', obj.cart_amount, att (0)))
Print ("Merci.")

Créer des objets

Après avoir défini les classes d'application nécessaires, ajoutez le script pour créer des objets pour l'utilisation des variables de classe et appelez les méthodes pour compléter la mise en œuvre de «l'application de gâteau». Au début, l'objet du «boutique«La classe sera définie, et le display_menu () La méthode sera appelée en utilisant cet objet pour afficher le menu principal. Dans le script, la première boucle infinie a été utilisée pour afficher le menu principal au début de l'application et après avoir confirmé ou annulé l'achat. Cette boucle sera terminée et l'application sera fermée lorsque l'utilisateur sélectionnera la troisième option («sortie») du menu principal. La deuxième boucle infinie a été utilisée pour ajouter les produits dans le panier jusqu'à ce que les types d'utilisateurs "aucun" et affiche le deuxième menu après avoir ajouté ou retiré un produit dans le chariot. Cette boucle sera résiliée si l'utilisateur sélectionne le troisième («Confirmer le paiement») ou la quatrième («annuler») du deuxième menu. Supposons que l'utilisateur sélectionne la troisième option du deuxième menu et que le montant en espèces ajouté par l'utilisateur est inférieur au CART_AMOUNT valeur. Ensuite, le deuxième menu réapparaîtra en affichant le message: «Vous n'avez pas assez d'équilibre.". Les deux CART_ITEMS et CART_AMOUNT Les valeurs seront effacées après avoir terminé la deuxième boucle infinie pour effectuer le prochain achat. Le script de cette pièce est fourni ci-dessous:

# Déclarer l'objet de la classe «Shop»
objshop = shop ()
# Déclarez la boucle infinie pour afficher le menu à plusieurs reprises
# jusqu'à ce que l'utilisateur appuie «3»
Bien que vrai:
# Afficher le menu principal
objshop.display_menu ()
# Définissez la valeur initiale pour le discours_item
retire_item = false
# Affichez le menu principal si l'utilisateur appuie sur «1»
Si objshop.Réponse == '1':
objshop.display_products ()
# Afficher l'option d'achat si l'utilisateur appuie sur «2»
Elif Objshop.Réponse == '2':
# Déclarer l'objet de la classe «Ordre»
objOrder = Order ()
# Déclarez la boucle infinie pour afficher le deuxième menu à plusieurs reprises
# jusqu'à ce que l'utilisateur appuie «3» ou «4»
Bien que vrai:
# Prenez le nom du produit pour ajouter dans le panier si la valeur de Remove_Item est fausse
Si dissove_item == false:
item = input ("\ ntype le nom du produit:")
Si item == 'Aucun':
# Afficher le panier après avoir ajouté ou retiré le produit
return_val = objOrder.display_cart (objshop)
# Terminez de la boucle si le chariot est vide
Si return_val == 0:
casser
elif return_val == '1':
élément = entrée ("Tapez le nom du produit:")
# Vérifiez que le produit existe dans les produits.fichier txt ou non
pro_exist = objshop.Check_Products (article)
# Ajouter les produits dans le panier si le produit existe
Si pro_exist == true:
obscurcissement.add_to_cart (élément)
retire_item = false
elif return_val == '2':
# Retirez le produit sélectionné du chariot
return_val = objOrder.retire_from_cart (objshop)
retire_item = true
elif return_val == '3':
# Prenez les informations du client
name = entrée ("Entrez votre nom:")
adresse = entrée ("entrez votre adresse:")
contact_no = entrée ("Entrez votre numéro de contact:")
Cash = int (entrée ("ajouter de la trésorerie: $"))
# Ajouter la valeur de trésorerie avec le solde actuel du client
objshop.cust_balance = objshop.Cust_Balance + Cash
# Vérifier que le solde du client est inférieur au montant du panier
Si objshop.Cust_Balance < objShop.cart_amount:
Imprimer ("Vous n'avez pas assez d'équilibre.")
autre:
# Créer un objet de la classe «client»
objCustomer = client (nom, adresse, contact_no, espèces)
# Imprimer les informations d'achat
objcustmer.achat_info (objshop)
# Déduire le montant d'achat du solde du client
objshop.Cust_Balance = Cash - Objshop.CART_AMOUNT
casser
autre:
# Message d'impression si le client annule l'achat
Imprimer ("Vous avez annulé votre achat.")
casser
autre:
# Ajouter les produits dans le panier si le produit existe
pro_exist = objshop.Check_Products (article)
Si pro_exist == true:
obscurcissement.add_to_cart (élément)
Imprimer («Tapez« aucun »pour arrêter d'ajouter du produit»)
# Effacer la liste des paniers après avoir acheté ou annulé
objshop.CART_ITEMS.clair()
# Effacer le montant du panier après avoir acheté ou annulé
objshop.CART_AMOUNT = 0
# Se terminer de l'application si les utilisateurs appuient «3»
Elif Objshop.Réponse == '3':
Imprimer ("\ Nterminé à partir de l'application.")
sortie()

Sortie de l'application

Après avoir ajouté tous les scripts dans le boutique.py fichier en série, vous pouvez vérifier si l'application fonctionne correctement ou non. La façon d'utiliser cette application a été montrée dans cette partie du tutoriel.

Exécuter l'application

Au début, l'utilisateur doit ouvrir le terminal et aller à l'emplacement où le des produits.SMS et boutique.py les fichiers sont situés. Vous devez stocker ces fichiers au même emplacement pour obtenir la sortie correctement. Exécutez la commande suivante pour exécuter l'application:

$ Python3 Shop.py

La sortie suivante apparaîtra après l'exécution de la commande précédente. Ceci est le menu principal de cette application. L'utilisateur peut sélectionner l'une des trois options affichées dans la sortie en tapant "1" ou "2" ou "3". La liste des produits sera affichée si l'utilisateur type, "1". L'invite d'entrée pour prendre le nom du produit apparaît si l'utilisateur type, "2". L'application sera fermée si l'utilisateur type, "3". Le menu apparaît à nouveau si l'utilisateur tape un autre caractère.

PRODUCTION DES PRODUITS

La sortie suivante apparaîtra si l'utilisateur type "1". Le contenu du des produits.SMS Le fichier a été affiché dans cette sortie. L'utilisateur peut sélectionner tous les noms de gâteaux indiqués dans la sortie pour ajouter au panier, et l'utilisateur doit sélectionner la deuxième option du menu pour effectuer la tâche.

Ajouter le produit dans le chariot en utilisant le menu principal

Il existe deux façons dans l'application pour ajouter le produit au panier. La première façon est de sélectionner la deuxième option du menu principal. La sortie suivante apparaîtra si l'utilisateur a tapé "2". L'utilisateur doit taper le nom de tout élément de gâteau qui existe dans le fichier pour l'ajouter au panier.

La sortie suivante apparaîtra si les types d'utilisateurs "Gâteau de boue"Cela existe dans la liste de produits. La sortie montre que le produit a été ajouté au panier et que l'utilisateur peut ajouter un autre produit en tapant à nouveau le nom du produit. Si l'utilisateur ne veut ajouter aucun produit, il doit taper "aucun".

La sortie suivante apparaîtra si un autre produit nommé «Gâteau au café" est ajouté:

La sortie suivante apparaîtra si la valeur "aucun”Est ​​tapé comme valeur d'entrée. La liste des éléments de panier est indiquée dans la sortie. Deux articles à gâteau ont été ajoutés: «Gâteau de boue" et "Gâteau au café". Le prix du «Gâteau de boue" est 35 $ et le "Gâteau au café" est 22 $. Le prix total des gâteaux est de 35 $ + 22 $ = 57 $, montré dans la sortie. Le deuxième menu a été affiché après avoir affiché les informations du panier. L'utilisateur peut ajouter des produits, supprimer des produits, acheter les produits ajoutés au panier et annuler l'achat à l'aide de ce menu:

Ajouter le produit dans le chariot en utilisant le deuxième menu

La sortie suivante apparaîtra si l'utilisateur a tapé "2". L'utilisateur doit taper le nom de tout élément de gâteau qui existe dans le fichier pour l'ajouter au panier.

La sortie suivante apparaîtra après avoir tapé le «gâteau à la vanille» comme valeur d'entrée. L'utilisateur peut ajouter plus d'articles au panier en tapant à nouveau le nom du produit. Si l'utilisateur ne veut pas ajouter plus de produits, il doit taper «aucun» pour arrêter d'ajouter le produit au panier.

La sortie suivante apparaîtra après avoir tapé "aucun«Comme valeur d'entrée. La sortie montre que le nouveau produit «Gâteau à la vanille"A été ajouté au panier et au prix du"Gâteau à la vanille"A été ajouté avec le montant du panier. Ainsi, le montant total est maintenant de 57 $ + 30 $ = 87 $. Le deuxième menu est réapparu. Le but de ce menu a été expliqué précédemment.

Retirez le produit du chariot

La sortie suivante apparaîtra si les types d'utilisateurs "2«Comme valeur d'entrée. L'utilisateur doit taper le nom de tout élément de gâteau qui existe dans le chariot pour le retirer du chariot. Si l'utilisateur tape une valeur qui n'existe pas dans le panier, alors un message d'erreur sera imprimé.

La sortie suivante apparaîtra si les types d'utilisateurs "Gateau au chocolat«Comme valeur d'entrée qui existe dans les produits.fichier txt mais n'existe pas dans le panier. Donc, le message d'erreur, "Le produit n'existe pas dans le panier.", Est apparu dans la sortie, et aucun élément n'a été ajouté ou supprimé du chariot. La valeur totale du montant du panier n'a pas également changé.

La sortie suivante apparaîtra si l'utilisateur type, "Gâteau au café«Comme la valeur d'entrée qui existe dans le panier. Le message de réussite, «le produit est supprimé du chariot», a été imprimé. La sortie montre également que «Gâteau au café"A été supprimé du panier, et la valeur de prix de cet article a été déduite de la valeur du montant du panier. Le prix du «Gâteau au café"Est 22 $. Ainsi, le montant total du panier est maintenant de 87 $ - 22 $ = 65 $.

La sortie suivante apparaîtra si tous les éléments du panier sont supprimés. La sortie affiche deux messages. L'un est de supprimer le dernier produit, et un autre est d'informer l'utilisateur que le panier est maintenant vide. Puisqu'il n'y a pas de produit dans le panier, le deuxième menu a disparu et le menu principal est réapparu.

Effectuer le paiement

La troisième option du deuxième menu est utilisée pour confirmer l'achat en ajoutant les informations du client et la valeur du montant du panier. La sortie suivante apparaîtra si l'utilisateur type "3" Pour sélectionner la troisième option du deuxième menu après avoir ajouté des articles à gâteau au chariot. La sortie montre que deux articles à gâteau sont ajoutés au chariot, et le prix total des gâteaux est de 60 $. L'invite d'entrée pour prendre le nom du client est apparue après avoir tapé la valeur, "3". Ensuite, d'autres invites d'entrée semblent ajouter d'autres informations liées au client et le montant en espèces pour acheter le produit.

Dans la sortie suivante, le nom, l'adresse du client, le numéro de téléphone et le montant en espèces ont été ajoutés. Mais la valeur de trésorerie ajoutée est inférieure au prix total des produits. Le montant total du panier était de 60 $ et 45 $ ont été ajoutés comme valeur de trésorerie. Le message: «Vous n'avez pas assez d'équilibre."Est apparu pour cette raison, et la commande a été annulée en rendant le chariot vide. Le menu principal est réapparu.

La sortie suivante apparaîtra si l'argent ajouté par l'utilisateur est égal ou supérieur au montant total du panier. Ici, le prix total du panier est de 35 $, et l'utilisateur a ajouté 100 $ comme valeur de trésorerie, ce qui est supérieur au prix total. La sortie montre également qu'un nombre aléatoire a été généré comme numéro de commande, et la date du système actuelle a été imprimée à la date de commande. Le menu principal est réapparu pour le prochain achat. Le solde actuel de l'utilisateur est de 100 $ - 35 $ = 65 $. Si le même utilisateur achète à nouveau un article de gâteau dans la boutique, le montant d'achat sera déduit du solde actuel de l'utilisateur.

La sortie suivante apparaîtra si l'utilisateur achète à nouveau et que le montant d'achat est inférieur à son solde actuel. Selon la production, deux articles à gâteau ont été ajoutés au chariot et le prix total des gâteaux est de 47 $. L'utilisateur a ajouté 0 $ en espèces, mais le solde actuel du client est de 65 $. Ainsi, le paiement a été achevé avec succès et le message «merci» a été imprimé. Le solde actuel de l'utilisateur est de 65 $ - 47 $ = 18 $.

Si le même utilisateur ajoute à nouveau un élément au panier et que le prix total de l'élément est inférieur au solde actuel de l'utilisateur, la sortie suivante apparaîtra. Le solde actuel de l'utilisateur est de 18 $ après la dernière transaction, mais le prix total du produit est de 30 $. Donc, le message: «Vous n'avez pas assez d'équilibre."A été imprimé et la commande a été annulée en rendant le panier vide.

La sortie suivante apparaîtra si l'utilisateur ajoute 12 $ avec les 18 $ pour acheter le «Gâteau à la vanille«De 30 $. Le solde actuel de l'utilisateur est de 0 $ après l'achat.

Annuler le paiement

L'utilisateur peut annuler la commande après avoir ajouté des articles au panier en sélectionnant la quatrième option du deuxième menu ou en supprimant tous les articles du panier. La sortie suivante apparaîtra si l'utilisateur sélectionne la quatrième option du deuxième menu en tapant "4". Le message: «Vous avez annulé votre achat.»A été imprimé pour annuler la commande. Le moyen d'annuler la commande en supprimant tous les articles du chariot a été montré avant. Le menu principal sera apparu après l'annulation de la commande.

Fermez la demande

L'application peut être fermée en sélectionnant la troisième option dans le menu principal. La sortie suivante apparaîtra si l'utilisateur type "3" Pour fermer la demande. La demande a été résiliée par le message «terminé à partir de la demande».

Limitations de cette application

La façon d'implémenter une application textuelle très simple par les classes Python a été affichée dans ce tutoriel. Mais cette application a certaines limites, qui sont mentionnées ci-dessous:

  • Aucune commande ou information client n'est stockée en permanence. L'application doit tenir des registres des ventes précédentes. Deux autres fichiers texte peuvent être créés pour stocker la commande et les informations du client.
  • Aucun enregistrement de stock n'est conservé dans cette application qui est une partie importante de la demande de magasin. Si un produit est en rupture de stock, un message doit être transmis à l'utilisateur.
  • Si l'utilisateur ajoute le même produit plusieurs fois, chaque produit sera ajouté séparément, ce qui est inefficace. Il est essentiel de compter le nombre de chaque produit dans le panier si le même produit est ajouté plusieurs fois.
  • Il n'y a pas d'option pour supprimer tous les éléments du panier par commande unique sans annuler la commande. L'utilisateur doit supprimer chaque élément séparément pour rendre le chariot vide.
  • Le solde du client restant ne s'affiche pas après avoir terminé le paiement de la commande. Il aidera l'utilisateur à ajouter de l'argent pour la prochaine commande.

*** Les lecteurs de ce tutoriel essaieront de mettre en œuvre les fonctionnalités mentionnées ci-dessus pour développer leurs compétences en programmation et rendre l'application plus efficace pour l'apprentissage.

Tutoriel vidéo sur ce sujet

Conclusion

Les directives pour implémenter une application Python simple basée sur le texte ont été fournies dans ce didacticiel pour les utilisateurs de Python novices. Les fonctionnalités de base de l'application de la boutique sont utilisées pour mettre en œuvre dans ce tutoriel, telles que la liste de produits, ajouter au panier, supprimer du panier, système de paiement et annuler le paiement. Pour plus de simplicité, nous avons utilisé le fichier texte ici pour stocker les données en permanence. Mais toute application de base de données standard, telle que SQLite et MySQL, peut être utilisée pour gérer les données d'application plus efficacement.