Beispiele für Python -Klassen

Beispiele für Python -Klassen
Python ist eine sehr beliebte Programmiersprache für die Entwicklung verschiedener Arten von Anwendungen wie textbasierte Anwendungen, Desktop-Anwendungen, Webanwendungen usw. Python unterstützt sowohl strukturierte Programmier- als auch objektorientierte Programmierung. Dieses Tutorial soll lehren, wie man Python -Klassen verwendet, indem ein wirkliches Beispiel für Python -Klassen angezeigt wird.

Einige verwandte Python-Kurse wurden verwendet, um die textbasierte „Cake Shop-Anwendung“ hier zu entwickeln.

Projektfunktionen

  • Zeigen Sie die Kuchenliste des Geschäfts mit Details an
  • Fügen Sie einen oder mehrere Kuchen zum Kauf hinzu, um den Kauf zu kaufen
  • Entfernen Sie einen oder mehrere Kuchen aus dem Wagen
  • Bestätige die Bestellung
  • Bestellung stornieren
  • Schließe das Programm

Voraussetzungen

  • Python 3.Über 8+ Version muss im Betriebssystem installiert werden, um die Projektarbeit zu starten.
  • Das Grundwissen über die objektorientierte Programmierung von Python erfordert das Verständnis des in diesem Tutorial verwendeten Skripts ordnungsgemäß.

Implementierung der „Cake Shop -Anwendung“

Drei Klassen werden verwendet, um die Funktionen dieser Anwendung zu implementieren. Diese sind "Geschäft","Befehl", Und "Kunde”. Der "GeschäftDie Klasse ist die übergeordnete Klasse, mit der das Hauptmenü der Anwendung angezeigt, die Kuchenliste des Geschäfts angezeigt wird und prüft, ob der vom Benutzer ausgewählte Kuchen im Laden vorhanden ist. Der "BefehlDie Klasse ist eine Kinderklasse, die durch Erben von der “erstellt wird“GeschäftKlasse, und es wird verwendet, um Kuchenartikel in den Wagen hinzuzufügen, die Kuchenartikel aus dem Wagen zu entfernen und die ausgewählten Gegenstände des Wagens anzuzeigen. Der "KundeDie Klasse ist eine andere Kinderklasse, die durch Erben von der “erstellt wird“BefehlKlasse, und es wird verwendet, um die Kaufdetails mit den Kundeninformationen anzuzeigen. Das folgende Diagramm zeigt, wie diese einfache Anwendung funktioniert:

Speichern Sie die Produktinformationen

Jede beliebte Datenbankserveranwendung kann mit der Python -Anwendung angehängt werden, um Daten zu speichern. In dieser Anwendung wurde jedoch kein Datenbankserver verwendet, um sie einfach zu halten, und eine Textdatei wurde verwendet, um die Daten zu speichern. Erstellen Sie eine Textdatei mit dem Namen Produkte.txt Fügen Sie die folgenden Produktinformationen in die Datei hinzu, bevor Sie den nächsten Teil dieser Anwendung starten. Der Benutzer wählt den Kuchenelement in dieser Datei aus, um den Warenkorb zum Kauf hinzuzufügen. Jedes Feld wird hier durch ein Komma getrennt:

Produkte.txt

ID, Name, Preis, Datum des Ablaufdatums
01, Schokoladenkuchen, 25, 01-06-22, 07-06-22
02, Kaffeekuchen, 22, 02-06-22, 10-06-22
03, Vanillekuchen, 30, 03-06-22, 11-06-22
04, Schlammkuchen, 35, 02-06-22, 09-06-22
05, Straberry Cake, 40,03-06-22, 12-06-22

Importieren Sie die erforderlichen Module

In dieser Anwendung wurden drei Module verwendet, um eine Zufallszahl zu generieren, das aktuelle Datum zu lesen und farbenfrohe Text im Terminal zu erstellen. Erstellen Sie eine Python -Datei mit dem Namen Geschäft.py und fügen Sie das folgende Skript am Anfang der Datei hinzu, um die Module zu importieren. Der willkürlich Das Modul generiert die Bestellnummer. Der Datum Das Modul lesen das aktuelle Systemdatum. Und das farbig Das Modul erzeugt den farbenfrohen Text.

#Import erforderliche Module für das Ladenprojekt
zufällig importieren
Ab DateTime Import Datum
Aus farbiger Import FG, BG, Attr

Erstellen Sie die Kaufklasse "Shop"

Fügen Sie nach dem Import der erforderlichen Module das Skript hinzu, um das zu definierenGeschäft”Klasse in die Geschäft.py Datei. Dies ist die Basisklasse dieser Anwendung, die vier Klassenvariablen und drei Methoden enthält. Der Zweck dieser Variablen und der Methoden werden nachstehend erwähnt.

Variablen

cart_items:

Es ist eine Listenvariable und wird verwendet, um den vom Benutzer hinzugefügten Kuchenartikel zu speichern. Ein neuer Artikel wird an die Liste angehängt, wenn ein neuer Kuchenartikel zum Hinzufügen in den Warenkorb ausgewählt wird, und ein vorhandenes Element wird entfernt, wenn der Benutzer einen Kuchenartikel zum Entfernen aus dem Wagen auswählt. Diese Variable wird nach Abschluss des Kaufs oder Stornierens des Kaufs gelöscht.

cart_amount:

Es handelt. Der Wert dieser Variablen wird erhöht, wenn ein neuer Kuchenartikel in den Wagen hinzugefügt wird, und der Wert dieser Variablen wird verringert, wenn ein Kuchenartikel aus dem Wagen entfernt wird. Diese Variable wird nach Abschluss oder Stornierung des Kaufs auf 0 initialisiert oder storniert.

Cust_Balance:

Es ist eine Ganzzahlvariable und wird verwendet, um den vom Kunden hinzugefügten Barwert zu speichern. Der Wert dieser Variablen wird erhöht, wenn der Benutzer den Barwert hinzufügt, und der Wert dieser Variablen wird verringert, wenn die Kaufaufgabe erfolgreich abgeschlossen ist.

antworten:

Es handelt sich um eine Zeichenfolgenvariable und wird verwendet, um den Eingabwert des Benutzers zu nutzen, um die bestimmte Aufgabe zu erledigen.

Methoden

display_menu ():

Diese Methode wurde definiert, um die Menüliste der Anwendung anzuzeigen. Wenn der Benutzer typisiert “1Dann der Inhalt des Produkte.txt Die Datei wird angezeigt. Wenn der Benutzer typisiert “2”, Dann wird die Eingabeaufforderung, den Produktnamen zu nehmen, angezeigt. Wenn der vom Benutzer angegebene Produktname in der Datei vorhanden ist, wird der Produktname zu der hinzugefügt cart_items Liste, und der Preis des Produkts wird mit hinzugefügt cart_amount. Wenn der Benutzer typisiert “3”, Dann wird der Antrag beendet. Die FG () -Funktion wurde in der Methode zum Drucken des farbigen Textes im Terminal verwendet.

display_products ():

Diese Methode wurde definiert, um die zu lesen Produkte.txt Dateizeile für Zeile, teilen Sie jede Zeile basierend auf dem Komma mit der Funktion split () auf und speichern Sie sie in eine Listenvariable. Als nächstes wird die List-Variable mit einer für die Schleife iteriert.

check_products ():

Diese Methode wurde definiert, um zu überprüfen, ob der vom Benutzer genommene Produktname in der vorhanden ist Produkte.txt Datei. Wenn der Produktname in der Datei vorhanden ist, wird der Preis dieses bestimmten Produkts mit dem Wert der hinzugefügt cart_amount variabel und der wahre Der Wert wird aus der Funktion zurückgegeben. Die Nachricht, "Das Produkt existiert nicht.Wird gedruckt, wenn der Produktname in der Datei nicht vorhanden ist und der FALSCH Der Wert wird aus der Funktion zurückgegeben. Diese Methode wird aufgerufen, wenn ein Produktname vom Benutzer zum Hinzufügen zum Warenkorb aufgenommen wird.

Das Skript der “GeschäftDie Klasse wird unten angegeben:

"
Hier wird hier definiert, um das Hauptmenü anzuzeigen, die Produktliste anzeigen,
und überprüfen Sie, ob das Produkt in der Datei existiert oder nicht
"
Klassengeschäft:
# Die Liste deklarieren, um das ausgewählte Produkt zu speichern
cart_items = []
# Initialisieren Sie den Wagenbetrag
cart_amount = 0
# Initialisieren Sie die Kundenbilanz
Cust_balance = 0
# Initialisieren Sie die Variable, die die Eingabe des Benutzers annimmt
Antwort = "
# Funktion definieren, um das Hauptmenü anzuzeigen
Def Display_Menu (Selbst):
print ("\ n%s%s%s"%(FG (150), '*** Willkommen in unserem Kuchenladen ***', Attr (0)))
print ("\ n%s%s"%(FG (170), '1. Displayprodukte… '))
print ("2. Ausgewähltes Produkt… ")
print ("3. Ausfahrt")
selbst.Antwort = input ("\ nType 1 oder 2 oder 3:")
# Definieren Sie die Funktion zum Lesen und Anzeigen des Produkts aus der Textdatei
Def display_products (Selbst):
print ("\ n Die Produktliste finden Sie unten: \ n")
mit offenem ('Produkten.txt ') als f:
Zeile = f.Zeile lesen()
# Drucken Sie den Header der Datei
print ("id \ tname \ t \ tPrice \ tmaking Datum \ Texpire Datum")
Während Linie:
# Initialisieren Sie den Zähler, um den Speicherplatz zwischen den Feldern festzulegen
Zähler = 0
# Lesen Sie jede Zeile aus der Datei aus
Zeile = f.Zeile lesen()
# Teilen Sie jede Zeile basierend auf dem Komma (,) und speichern Sie in einer Liste
FELDLIST = LISTE (Zeile.Teilt(","))
print ('\ t')
# Lesen Sie jeden Wert aus der Liste und drucken
Für VAL in FieldList:
Wenn Zähler == 0:
Space = "
anders:
Space = '\ t'
Zähler = Zähler + 1
Wenn Zähler == 3:
val = '$' + val
print (val, Ende = Raum)
# Funktion definieren, um das ausgewählte Produkt in der Datei zu überprüfen oder nicht
Def check_products (Selbst, Suche):
# Öffnen Sie die Datei zum Lesen
mit offenem ('Produkten.txt ') als f:
# Lesen Sie jede Zeile der Datei
Für Zeile in F:
# Teilen Sie den Linienwert basierend auf Comma (,)
FELDLIST = LISTE (Zeile.Teilt(","))
Für VAL in FieldList:
# Überprüfen Sie die ausgewählte Produktübereinstimmung mit dem Wert oder nicht
Wenn Suche == Val.Streifen():
# Fügen Sie den Preis des Produkts mit dem Wagenbetrag hinzu, wenn der Serchwert gefunden wird
selbst.cart_amount = self.cart_amount + int (fieldlist [2].Streifen())
RECHT WAHR
# Meldung drucken, wenn das ausgewählte Produkt in der Datei nicht vorhanden ist
drucken ("Das Produkt existiert nicht."))
falsch zurückgeben

Erstellen Sie "Bestell" -Klasse

Nach dem Hinzufügen der “GeschäftKlasse, fügen Sie das Skript hinzu, um das zu definieren "Befehl”Klasse in die Geschäft.py Datei. Dies ist eine Kinderklasse, die aus dem geerbt wird “GeschäftKlasse, die drei Methoden enthält. Der Zweck dieser Methoden wird unten erwähnt.

Methoden

in den Warenkorb legen():

Diese Methode wurde definiert, um den Produktnamen in die hinzuzufügen cart_items Liste, wenn das Produkt in der vorhanden ist Produkte.txt Datei und drucken Sie eine Nachricht nach dem Hinzufügen des Produkts in den Karren. Diese Methode wird aufgerufen, wenn der Benutzer die zweite Option („Produkt auswählen…“) des Hauptmenüs auswählt, indem „2“ oder die erste Option des zweiten Menüs („Produkt hinzufügen“) eingeben, indem „1“ eingegeben wird.

remove_from_cart ():

Diese Methode wurde definiert, um das Produkt aus dem zu entfernen cart_items Listen Sie auf, wenn der Produktname des Benutzers in der vorhanden ist cart_items. Diese Methode wird aufgerufen, wenn der Benutzer die zweite Option des zweiten Menüs („Produkt entfernen“) auswählt, indem „2“ eingegeben wird. Nach dem Entfernen des Produkts wird der Preis des entfernten Produkts von der abgezogen cart_amount Variable. “Das Produkt existiert nicht im Karren.Die Nachricht wird gedruckt, wenn der vom Benutzer aufgenommene Produktname nicht in der vorhanden ist cart_items Liste.

display_cart ():

Diese Methode wurde definiert, um den Inhalt der anzuzeigen cart_items Liste, der Wert der cart_amount, und die zweiten Menüpunkte zum Hinzufügen von Produkten oder zum Entfernen des Produkts oder zur Bestätigung der Zahlung oder stornieren den Kauf. Wenn der cart_items Die Liste ist leer, dann die Nachricht “Ihr Warenkorb ist leer." wird Angezeigt werden. Diese Methode wird aufgerufen, wenn die Aufgabe des Hinzufügens eines Produkts oder das Entfernen eines Produkts abgeschlossen ist. Diese Methode gibt die Werte der Liste cart_items zurück, wenn der Wagen nicht leer ist oder 0 zurückgibt, wenn der Wagen leer ist.

Das Skript der “BefehlDie Klasse wird unten angegeben:

"
Die Klasse "Order" wird definiert, um Produkt in den Wagen hinzuzufügen, Produkt zu entfernen
Aus dem Karren und den Warenkorbelement anzeigen
"
Klassenbestellung (Shop):
# Funktion definieren, um Produkt in den Warenkorb hinzuzufügen
Def add_to_cart (Selbst, Element):
# Produkt in den Warenkorb hinzufügen
selbst.cart_items.anhängen (Artikel)
drucken ("%s wird im Karren hinzugefügt." %(Artikel))
# Funktion definieren, um Produkt aus dem Warenkorb zu entfernen
Def Remove_from_cart (self, obj):
item = input ("Geben Sie den Produktnamen ein:")
If Artikel in OBJ.cart_items:
# Produkt aus dem Warenkorb entfernen
obj.cart_items.Gegenstand entfernen)
Druck ("Produkt wird aus dem Wagen entfernt")
# Öffnen Sie die Datei, um den Preis des Produkts zu durchsuchen
mit offenem ('Produkten.txt ') als f:
Für Zeile in F:
FELDLIST = LISTE (Zeile.Teilt(","))
Für VAL in FieldList:
Wenn Item == Val.Streifen():
# Entfernen Sie den Preis des entfernten Produkts aus dem Wagenbetrag
obj.cart_amount = obj.cart_amount - int (fieldlist [2].Streifen())
anders:
drucken ("Produkt existiert nicht im Warenkorb."))
# Funktion definieren, um die Karren Elemente anzuzeigen
Def display_cart (self, obj):
# Überprüfen Sie den Wagenbetrag, um herauszufinden, dass der Wagen leer ist oder nicht
Wenn obj.cart_amount> 0:
# Zeigen Sie die hinzugefügten Wagenelemente an
print ("\ nyou haben die folgenden Elemente in Ihrem Warenkorb hinzugefügt: \ n")
Für Val in Self.cart_items:
Druck (Val)
# Drucken Sie den Gesamtwagenbetrag
print ("\ n%s%s%d%s"%(FG (25), 'Gesamtbetrag: $', OBJ.cart_amount, attr (0)))
# Zeigen Sie das zweite Menü an
print ("\ n1. Produkt hinzufügen")
print ("2. Produkt entfernen ")
print ("3. Bestätige Zahlung")
print ("4. Stornieren")
Ans = input ("\ nType 1 oder 2 oder 3 oder 4:")
Rückkehr Ans
anders:
# Meldung drucken, wenn der Wagen leer ist
drucken ("Ihr Karren ist leer."))
Rückkehr 0

Erstellen Sie die Kundendienstklasse

Nach dem Hinzufügen der “BefehlKlasse, fügen Sie das Skript hinzu, um das zu definieren "Kunde”Klasse in die Geschäft.py Datei. Dies ist eine andere Kinderklasse, die von der “geerbt wurde“BefehlKlasse mit der Konstruktormethode und einer benutzerdefinierten Methode. Der Zweck dieser Methoden wird unten erwähnt.

Methoden:

Konstruktormethode

Die Konstruktormethode wird durch __init __ () definiert. Angenommen, der Benutzer wählt die dritte Option des zweiten Menüs aus („Zahlung bestätigen“). In diesem Fall der Konstruktor der “Kunde"Die Klasse wird aufgerufen, um die Kundeninformationen zum Zeitpunkt der Erstellung von Objekten der" zu initialisieren "KundeKlasse und konkurrieren um die Kaufaufgabe. Diese Methode enthält vier Argumente. Dies sind Name, Adresse, Telefon und Bargeld.

kauf_info ():

Diese Methode wurde definiert, um die Kaufdetails anzuzeigen, die die Bestellnummer, den Bestelldatum, den Namen des Kunden, die Adresse des Kunden, das Telefon des Kunden, die Liste der gekauften Produkte und den Gesamtpreis aller gekauften Produkte enthalten. Hier wird die Bestellnummer mit der Funktion random () generiert. Diese Methode wird aufgerufen, wenn der vom Benutzer hinzugefügte Barwert mehr als oder gleich dem Wert von ist der cart_amount Variable.

Das Skript der “KundeDie Klasse wird unten angegeben:

"
Die Klassen -ID des Kunden definiert, um die Kaufinformationen anzuzeigen
Nach Bestätigung der Zahlung
"
Klassenkunde (Bestellung):
# Konstruktor definieren, um die Kundeninformationen zu initialisieren
Def __init __ (Selbst, Name, Adresse, Telefon, Bargeld):
Name = Name
Adresse = Adresse
contact_no = Telefon
add_cash = bar
# Funktion definieren, um die Kaufinformationen mit Kundendetails anzuzeigen
Def Purchase_info (Self, OBJ):
# Gnerate eine Zufallsbestellnummer
order_no = random.random ()*100000000
order_no = rund (order_no)
# Initilisieren Sie das Bestelldatum
heute = Datum.Heute()
order_date = heute.Strftime (" %b %d, %y")
# Kaufinformationen drucken
print ("\ nyour -Kaufinformationen finden Sie unten: \ n")
print ("Bestellnummer: %s" %order_no)
print ("Bestelldatum: %s" %order_date)
print ("Kunden Name: %s" %Name)
Druck ("Kundenadresse: %s" %Adresse)
print ("Kundennummer: %s" %contact_no)
# Gekaufte Produktinformationen drucken
print ("\ npurchased Produktliste: \ n")
Für Val in Self.cart_items:
Druck (Val)
print ("\ n%s%s%d%s"%(FG (25), 'Gesamtbetrag: $', OBJ.cart_amount, attr (0)))
drucken ("Danke."))

Objekte erstellen

Fügen Sie nach Definieren der erforderlichen Anwendungsklassen das Skript hinzu, um Objekte für die Verwendung der Klassenvariablen zu erstellen, und rufen Sie die Methoden auf, um die Implementierung der „Cake Shop -Anwendung“ zu vervollständigen. Zunächst das Objekt der “Geschäft”Klasse wird definiert und die display_menu () Die Methode wird aufgerufen, indem dieses Objekt zum Anzeigen des Hauptmenüs verwendet wird. Im Skript wurde die erste unendliche Schleife verwendet, um das Hauptmenü zu Beginn der Anwendung und nach Bestätigung oder Stornierung des Kaufs anzuzeigen. Diese Schleife wird beendet und die Anwendung wird geschlossen, wenn der Benutzer die dritte Option („Beenden“) des Hauptmenüs auswählt. Die zweite unendliche Schleife wurde verwendet, um die Produkte in den Wagen hinzuzufügen, bis der Benutzer typisiert “keiner" und zeigt das zweite Menü nach dem Hinzufügen oder Entfernen eines Produkts in den Karren an. Diese Schleife wird beendet, wenn der Benutzer die Option Dritter („Zahlung bestätigen“) oder vierte („Abbrechen“) im zweiten Menü auswählt. Nehmen wir an, der Benutzer wählt die dritte Option des zweiten Menüs und der vom Benutzer hinzugefügte Bargeldbetrag geringer als der cart_amount Wert. Dann wird das zweite Menü erneut angezeigt, indem die Nachricht angezeigt wirdSie haben nicht genug Gleichgewicht.”. Beide cart_items Und cart_amount Die Werte werden nach Beendigung der zweiten Infinite -Schleife gelöscht, um den nächsten Kauf zu tätigen. Das Skript dieses Teils ist unten bereitgestellt:

# Objekt der "Shop" -Klasse deklarieren
OBJSHOP = SHOP ()
# Deklarieren Sie die unendliche Schleife, um das Menü wiederholt anzuzeigen
# bis der Benutzer "3" drückt
während wahr:
# Zeigen Sie das Hauptmenü an
OBJSHOP.display_menu ()
# Setzen Sie den Anfangswert für das remove_item
remove_item = false
# Zeigen Sie das Hauptmenü an, wenn der Benutzer "1" drückt
Wenn objshop.Antwort == '1':
OBJSHOP.display_products ()
# Zeigen Sie die Kaufoption an, wenn der Benutzer "2" drückt
Elif objshop.Antwort == '2':
# Objekt der "Order" -Klasse deklarieren
objorder = order ()
# Deklarieren Sie die unendliche Schleife, um das zweite Menü wiederholt anzuzeigen
# bis der Benutzer '3' oder '4' drückt
während wahr:
# Nehmen Sie den Produktnamen zum Hinzufügen in den Warenkorb, wenn der Wert von REMED_ITEM falsch ist
wenn remove_item == false:
item = input ("\ nType Der Produktname:")
Wenn Item == 'Keine':
# Zeigen Sie den Wagen nach dem Hinzufügen oder Entfernen des Produkts an
return_val = objorder.display_cart (objshop)
# Beenden Sie aus der Schleife, wenn der Wagen leer ist
Wenn return_val == 0:
brechen
elif return_val == '1':
item = input ("Geben Sie den Produktnamen ein:")
# Überprüfen Sie, ob das Produkt in den Produkten existiert.TXT -Datei oder nicht
pro_Exist = objshop.check_products (Artikel)
# Fügen Sie die Produkte in den Wagen hinzu, wenn das Produkt existiert
Wenn pro_exist == true:
Objorder.add_to_cart (item)
remove_item = false
Elif return_val == '2':
# Entfernen Sie das ausgewählte Produkt aus dem Warenkorb
return_val = objorder.remove_from_cart (objshop)
remove_item = true
Elif return_val == '3':
# Nehmen Sie die Informationen des Kunden auf
Name = input ("Geben Sie Ihren Namen ein:")
Adresse = Eingabe ("Geben Sie Ihre Adresse ein:")
contact_no = input ("Geben Sie Ihre Kontaktnummer ein:")
Cash = int (Input ("Bargeld hinzufügen: $"))
# Fügen Sie den Barwert mit dem aktuellen Saldo des Kunden hinzu
OBJSHOP.Cust_balance = ObjShop.Cust_Balance + Bargeld
# Überprüfen Sie, ob der Saldo des Kunden geringer ist als der Wagenbetrag von nicht
Wenn objshop.Cust_Balance < objShop.cart_amount:
drucken ("Sie haben nicht genug Gleichgewicht."))
anders:
# Erstellen Sie das Objekt der "Kunden" -Klasse
objcustomer = customer (Name, Adresse, contact_no, Bargeld)
# Drucken Sie die Kaufinformationen
Objcustomer.kauf_info (objshop)
# Abzweigen Sie den Kaufbetrag aus dem Kontostand des Kunden
OBJSHOP.Cust_balance = Cash - Objshop.cart_amount
brechen
anders:
# Meldung drucken, wenn der Kunde den Kauf abbricht
Drucken ("Sie haben Ihren Kauf storniert."))
brechen
anders:
# Fügen Sie die Produkte in den Wagen hinzu, wenn das Produkt existiert
pro_Exist = objshop.check_products (Artikel)
Wenn pro_exist == true:
Objorder.add_to_cart (item)
print ("Typ 'keine', um das Hinzufügen von Produkten nicht mehr")))
# Löschen Sie die Karrenliste nach dem Kauf oder Stornieren
OBJSHOP.cart_items.klar()
# Löschen Sie den Warenkorbbetrag nach dem Kauf oder Stornieren
OBJSHOP.cart_amount = 0
# Beenden Sie aus der Anwendung, wenn die Benutzer "3" drücken
Elif objshop.Antwort == '3':
print ("\ nterminiert aus der Anwendung."))
Ausfahrt()

Anwendungsausgabe

Nachdem alle Skripte in die hinzugefügt wurden Geschäft.py Datei seriell können Sie überprüfen, ob die Anwendung korrekt funktioniert oder nicht. Die Art und Weise, diese Anwendung zu verwenden, wurde in diesem Teil des Tutorials gezeigt.

Führen Sie die Anwendung aus

Zunächst muss der Benutzer das Terminal öffnen und zu dem Ort gehen, an dem die Produkte.txt Und Geschäft.py Dateien befinden sich. Sie müssen diese Dateien am selben Ort speichern, um die Ausgabe korrekt zu erhalten. Führen Sie den folgenden Befehl aus, um die Anwendung auszuführen:

$ python3 Shop.py

Nach der Ausführung des vorherigen Befehls wird die folgende Ausgabe angezeigt. Dies ist das Hauptmenü dieser Anwendung. Der Benutzer kann eine der drei in der Ausgabe angegebenen Optionen durch Eingabe auswählen "1" oder "2" oder "3". Die Liste der Produkte wird angezeigt, wenn der Benutzer tippt, "1". Die Eingabeaufforderung, den Produktnamen anzunehmen, wird angezeigt, wenn der Benutzer tippt, "2". Die Anwendung wird geschlossen, wenn der Benutzer tippt, "3". Das Menü wird erneut angezeigt, wenn der Benutzer ein anderes Zeichen eingibt.

Produkte anzeigen

Die folgende Ausgabe wird angezeigt, wenn der Benutzer tippt "1". Der Inhalt der Produkte.txt Die Datei wurde in dieser Ausgabe gezeigt. Der Benutzer kann alle in der Ausgabe angezeigten Kuchennamen auswählen, um sie zum Warenkorb hinzuzufügen, und der Benutzer muss die zweite Option des Menüs auswählen, um die Aufgabe zu erledigen.

Fügen Sie das Produkt mit dem Hauptmenü in den Warenkorb hinzu

In der Anwendung gibt es zwei Möglichkeiten, das Produkt zum Warenkorb hinzuzufügen. Der erste Weg besteht darin, die zweite Option im Hauptmenü auszuwählen. Die folgende Ausgabe wird angezeigt, wenn der Benutzer eingegeben wird "2". Der Benutzer muss den Namen eines Kuchenelements eingeben, der in der Datei vorhanden ist, um ihn dem Wagen hinzuzufügen.

Die folgende Ausgabe wird angezeigt, wenn der Benutzer typisiert "SchlammkuchenDas ist in der Produktliste vorhanden. Die Ausgabe zeigt, dass das Produkt dem Wagen hinzugefügt wurde und der Benutzer ein anderes Produkt hinzufügen kann, indem der Produktname erneut eingegeben wird. Wenn der Benutzer kein Produkt hinzufügen möchte, muss er eingeben “keiner”.

Die folgende Ausgabe wird angezeigt, wenn ein anderes Produkt namens “Kaffee Kuchen" hinzugefügt:

Die folgende Ausgabe wird angezeigt, wenn der Wert "keiner”Wird als Eingabewert getippt. Die Liste der Wagenelemente ist in der Ausgabe angezeigt. Es wurden zwei Kuchenartikel hinzugefügt: “Schlammkuchen" Und "Kaffee Kuchen”. Der Preis der “Schlammkuchen" Ist $ 35 und das "Kaffee Kuchen" Ist $ 22. Der Gesamtpreis der Kuchen beträgt 35 USD+$ 22 = $ 57, im Ausgang gezeigt. Das zweite Menü wurde nach der Anzeige der Wageninformationen angezeigt. Der Benutzer kann Produkte hinzufügen, Produkte entfernen, die am Wagen hinzugefügten Produkte kaufen und den Kauf mit diesem Menü stornieren:

Fügen Sie das Produkt mit dem zweiten Menü in den Warenkorb hinzu

Die folgende Ausgabe wird angezeigt, wenn der Benutzer eingegeben wird "2". Der Benutzer muss den Namen eines jeden in der Datei vorhandenen Kuchenartikel eingeben, um ihn dem Wagen hinzuzufügen.

Die folgende Ausgabe erscheint nach dem Eingeben von „Vanillekuchen“ als Eingangswert. Der Benutzer kann dem Wagen mehr Elemente hinzufügen, indem der Produktname erneut eingegeben wird. Wenn der Benutzer nicht mehr Produkte hinzufügen möchte, muss er "keine" eingeben, um das Hinzufügen des Produkts nicht mehr zum Warenkorb hinzuzufügen.

Die folgende Ausgabe erscheint nach dem Tippen “keiner”Als Eingabewert. Die Ausgabe zeigt, dass das neue Produkt “Vanille Kuchen"Wurde in den Wagen hinzugefügt und der Preis des"Vanille KuchenWurde mit dem Karrenbetrag hinzugefügt. Der Gesamtbetrag beträgt jetzt 57 USD + 30 USD = 87 $. Das zweite Menü wurde erneut angezeigt. Der Zweck dieses Menüs wurde zuvor erläutert.

Entfernen Sie das Produkt aus dem Warenkorb

Die folgende Ausgabe wird angezeigt, wenn der Benutzer typisiert "2”Als Eingabewert. Der Benutzer muss den Namen eines Kuchenartikels eingeben, der im Wagen vorhanden ist, um ihn aus dem Karren zu entfernen. Wenn der Benutzer einen Wert eingibt, der im Karren nicht vorhanden ist, wird eine Fehlermeldung gedruckt.

Die folgende Ausgabe wird angezeigt, wenn der Benutzer typisiert "Schokoladenkuchen”Als Eingabwert, der in den Produkten vorhanden ist.TXT -Datei, aber im Karren nicht vorhanden. Also die Fehlermeldung “,“Produkt existiert nicht im Karren.„, Ist im Ausgang erschienen, und es wurde kein Gegenstand hinzugefügt oder aus dem Wagen entfernt. Der Gesamtbetragwert des Wagens hat sich ebenfalls nicht geändert.

Die folgende Ausgabe wird angezeigt, wenn der Benutzer typisiert istKaffee Kuchen”Als Eingabwert, der im Wagen vorhanden ist. Die Erfolgsnachricht „Produkt wird aus dem Wagen entfernt“, wurde gedruckt. Die Ausgabe zeigt auch das “Kaffee Kuchen”Wurde aus dem Karren entfernt, und der Preiswert dieses Artikels wurde vom Wagenbetragwert abgezogen. Der Preis der “Kaffee Kuchen”Ist 22 $. Der Gesamtbetrag des Wagens beträgt jetzt 87 bis 22 USD = 65 USD.

Die folgende Ausgabe wird angezeigt, wenn alle Elemente aus dem Karren entfernt werden. Die Ausgabe zeigt zwei Nachrichten an. Eine ist, das letzte Produkt zu entfernen, und ein anderer ist es, den Benutzer darüber zu informieren, dass der Wagen jetzt leer ist. Da es im Karren kein Produkt gibt, ist das zweite Menü verschwunden, und das Hauptmenü wurde erneut angezeigt.

Zahlung leisten

Die dritte Option des zweiten Menüs wird verwendet, um den Kauf durch Hinzufügen der Kundeninformationen und des Wagenbetragwerts zu bestätigen. Die folgende Ausgabe wird angezeigt, wenn der Benutzer tippt "3" Um die dritte Option des zweiten Menüs auszuwählen, nachdem Sie einige Kuchenartikel in den Warenkorb hinzugefügt haben. Die Ausgabe zeigt, dass zwei Kuchenartikel in den Wagen hinzugefügt werden und der Gesamtpreis der Kuchen 60 US -Dollar beträgt. Die Eingabeaufforderung, den Namen des Kunden zu nehmen, wurde nach dem Eingeben des Wertes angezeigt, "3". Als nächstes scheinen andere Eingabeaufforderungen weitere Informationen zum Kunden und den Bargeld für den Kauf des Produkts hinzu.

In der folgenden Ausgabe wurden der Name, die Adresse, die Telefonnummer und der Barbetrag des Kunden hinzugefügt. Der zusätzliche Barwert ist jedoch geringer als der Gesamtpreis der Produkte. Der Gesamtwagenbetrag betrug 60 US -Dollar, und 45 US -Dollar wurden als Barwert hinzugefügt. Die Nachricht „Sie haben nicht genug Gleichgewicht.Hat aus diesem Grund erschienen, und die Bestellung wurde abgesagt, indem der Wagen leer wurde. Das Hauptmenü wurde erneut angezeigt.

Die folgende Ausgabe wird angezeigt, wenn das vom Benutzer hinzugefügte Bargeld gleich oder mehr als der Gesamtbetrag des Wagens ist. Hier beträgt der Gesamtpreis des Wagen. Die Ausgabe zeigt auch, dass eine Zufallszahl als Bestellnummer generiert wurde und das aktuelle Systemdatum als Bestelldatum gedruckt wurde. Das Hauptmenü wurde für den nächsten Kauf erneut angezeigt. Der aktuelle Saldo des Benutzers beträgt 100 bis 35 US -Dollar = 65 USD. Wenn derselbe Benutzer noch einmal einen Kuchenartikel aus dem Geschäft kauft, wird der Kaufbetrag vom aktuellen Saldo des Benutzers abgezogen.

Die folgende Ausgabe wird angezeigt, wenn der Benutzer erneut kauft und der Einkaufsbetrag geringer ist als der aktuelle Saldo. Nach der Ausgabe wurden zwei Kuchenartikel in den Warenkorb hinzugefügt, und der Gesamtpreis der Kuchen beträgt 47 US -Dollar. Der Benutzer fügte $ 0 Bargeld hinzu, der aktuelle Saldo des Kunden beträgt 65 US -Dollar. Die Zahlung wurde also erfolgreich abgeschlossen, und die Dankesnachricht wurde gedruckt. Der aktuelle Saldo des Benutzers beträgt 65 bis 47 USD = 18 USD.

Wenn derselbe Benutzer erneut einen Artikel zum Warenkorb hinzufügt und der Gesamtpreis des Artikels geringer ist als der aktuelle Saldo des Benutzers, wird die folgende Ausgabe angezeigt. Der aktuelle Saldo des Benutzers beträgt nach der letzten Transaktion 18 US -Dollar, aber der Gesamtpreis des Produkts beträgt 30 US -Dollar. Also die Nachricht: „Sie haben nicht genug Gleichgewicht.Wurde gedruckt und die Bestellung wurde storniert, indem der Wagen leer wurde.

Die folgende Ausgabe wird angezeigt, wenn der Benutzer 12 US -Dollar mit 18 US -Dollar für den Kauf der “hinzufügtVanille Kuchen”Von 30 Dollar. Der aktuelle Saldo des Benutzers beträgt nach dem Kauf 0 US -Dollar.

Zahlung stornieren

Der Benutzer kann die Bestellung nach dem Hinzufügen von Elementen in den Warenkorb abbrechen. Die folgende Ausgabe wird angezeigt, wenn der Benutzer die vierte Option des zweiten Menüs beim Eingeben auswählt "4". Die Nachricht „Sie haben Ihren Kauf storniert.Wurde für die Stornierung der Bestellung gedruckt. Der Weg, die Bestellung durch Entfernen aller Elemente aus dem Wagen zu stornieren, wurde zuvor gezeigt. Das Hauptmenü wird nach Absagung der Bestellung angezeigt.

Schließen Sie die Anwendung

Die Anwendung kann geschlossen werden, indem die dritte Option im Hauptmenü ausgewählt wird. Die folgende Ausgabe wird angezeigt, wenn der Benutzer tippt "3" Um die Anwendung zu schließen. Die Anwendung wurde durch die Nachricht "aus der Anwendung gekündigt" beendet.

Einschränkungen dieser Anwendung

Die Art und Weise, wie eine sehr einfache textbasierte Anwendung durch Python-Klassen implementiert wurde, wurde in diesem Tutorial gezeigt. Diese Anwendung hat jedoch einige Einschränkungen, die unten erwähnt werden:

  • Es werden keine Bestellung oder Kundeninformationen dauerhaft gespeichert. Die Anwendung muss Aufzeichnungen über die vorherigen Verkäufe aufbewahren. Zwei weitere Textdateien können erstellt werden, um die Bestellung und die Kundeninformationen zu speichern.
  • In dieser Anwendung wird kein Aktiensatz beibehalten, der ein wichtiger Bestandteil des Shop -Antrags ist. Wenn ein Produkt nicht vorrätig ist, sollte eine Nachricht an den Benutzer weitergegeben werden.
  • Wenn der Benutzer das gleiche Produkt mehrmals hinzufügt, wird jedes Produkt separat hinzugefügt, was ineffizient ist. Es ist wichtig, die Anzahl der einzelnen Produkte im Karren zu zählen, wenn das gleiche Produkt mehrmals hinzugefügt wird.
  • Es gibt keine Option, alle Elemente aus dem Warenkorb per einzelner Befehl zu entfernen, ohne die Bestellung zu stornieren. Der Benutzer muss jedes Element separat entfernen, um den Wagen leer zu machen.
  • Der verbleibende Kundenbetrag wird nach Abschluss der Zahlung der Bestellung nicht angezeigt. Es wird dem Benutzer helfen, Geld für die nächste Bestellung hinzuzufügen.

*** Die Leser dieses Tutorials werden versuchen, die oben genannten Funktionen zu implementieren, um ihre Programmierkenntnisse zu entwickeln und die Anwendung zum Lernen effizienter zu gestalten.

Video -Tutorial zu diesem Thema

Abschluss

Die Richtlinien für die Implementierung einer einfachen textbasierten Python-Anwendung wurden in diesem Tutorial für Anfänger Python-Benutzer bereitgestellt. Die grundlegenden Merkmale der Shop -Anwendung werden in diesem Tutorial verwendet, z. B. Produktliste, in den Warenkorb hinzufügen, aus dem Karren, dem Zahlungssystem und der Zahlung stornieren und die Zahlung stornieren. Der Einfachheit halber haben wir die Textdatei hier verwendet, um die Daten dauerhaft zu speichern. Jede Standarddatenbankanwendung wie SQLite und MySQL kann jedoch verwendet werden, um die Anwendungsdaten effizienter zu verwalten.