Python klasser eksempler

Python klasser eksempler
Python er et veldig populært programmeringsspråk for å utvikle forskjellige typer applikasjoner som tekstbaserte applikasjoner, stasjonære applikasjoner, webapplikasjoner osv. Python støtter både strukturert programmering og objektorientert programmering. Denne opplæringen er ment å lære å bruke Python -klasser ved å vise et reelt eksempel på Python -klasser.

Noen relaterte Python-klasser har blitt brukt til å utvikle den tekstbaserte “Cake Shop Application” her.

Prosjektfunksjoner

  • Vis kakelisten over butikken med detaljer
  • Legg til en eller flere kaker i handlekurven for kjøp
  • Fjern en eller flere kaker fra vogna
  • Bekreft ordren
  • Avbryt bestillingen
  • Lukk programmet

Forutsetninger

  • Python 3.8+ versjon er pålagt å installere i operativsystemet for å starte prosjektarbeidet.
  • Den grunnleggende kunnskapen om Pythons objektorienterte programmering vil kreve forståelse av skriptet som brukes i denne opplæringen riktig.

Implementering av “Cake Shop Application”

Tre klasser vil bli brukt til å implementere funksjonalitetene i denne applikasjonen. Disse er "butikk”,“rekkefølge”, Og“kunde”. “butikk”Klasse er overordnet klasse som skal brukes til å vise applikasjonens hovedmeny, vise kakelisten over butikken og sjekke om kaken er valgt av brukeren eksisterer i butikken. “rekkefølge”Klasse er en barneklasse som vil bli opprettet ved å arve fra“butikk”Klasse, og den vil bli brukt til å legge til kakeartikler i handlekurven, fjerne kakeartiklene fra vogna og vise de valgte varene i handlekurven. “kunde”Klasse er en annen barneklasse som vil bli opprettet ved å arve fra“rekkefølge”Klasse, og den vil bli brukt til å vise kjøpsdetaljene med kundeinformasjonen. Følgende diagram viser hvordan denne enkle applikasjonen vil fungere:

Lagre produktinformasjonen

Enhver populær databaseserverapplikasjon kan vedlegges med Python -applikasjonen for å lagre data. Imidlertid har ingen databaseserver blitt brukt i denne applikasjonen for å holde det enkelt, og en tekstfil har blitt brukt til å lagre dataene. Lag en tekstfil som heter Produkter.tekst og legg til følgende produktinformasjon i filen før du starter neste del av denne applikasjonen. Brukeren vil velge kakeelementet i denne filen for å legge til i handlekurven for kjøp. Hvert felt er atskilt med et komma her:

Produkter.tekst

Id, navn, pris, lage dato, utløpe dato
01, sjokoladekake, 25, 01-06-22, 07-06-22
02, kaffekake, 22, 02-06-22, 10-06-22
03, vaniljekake, 30, 03-06-22, 11-06-22
04, Mud Cake, 35, 02-06-22, 09-06-22
05, Strabery Cake, 40,03-06-22, 12-06-22

Importer de nødvendige modulene

Tre moduler har blitt brukt i denne applikasjonen for å generere et tilfeldig tall, lese gjeldende dato og lage fargerik tekst i terminalen. Lag en Python -fil som heter butikk.py og legg til følgende skript i begynnelsen av filen for å importere modulene. De tilfeldig Modulen genererer ordrenummeret. De Dato Modulen vil lese gjeldende systemdato. Og farget Modulen vil generere den fargerike teksten.

#Import krevde moduler for butikkprosjektet
importere tilfeldig
Fra Datetime Import Dato
Fra farget import FG, BG, ATT

Lag "butikk" -klasse

Etter å ha importert de nødvendige modulene, legger du til skriptet for å definere “butikk”Klasse inn i butikk.py fil. Dette er baseklassen for denne applikasjonen som inneholder fire klassevariabler og tre metoder. Formålet med disse variablene og metodene er nevnt nedenfor.

Variabler

CART_ITEMS:

Det er en listevariabel, og den vil bli brukt til å lagre kakeelementet som er lagt til av brukeren. Et nytt element vil bli lagt til listen når en ny kakeelement er valgt for å legge til handlekurven, og en eksisterende vare vil bli fjernet hvis brukeren velger et kakeelement for fjerning fra handlekurven. Denne variabelen blir fjernet etter å ha fullført kjøpet eller kansellert kjøpet.

CART_AMOUNT:

Det er en heltallvariabel, og den vil bli brukt til å lagre summen av produktets pris lagt inn i handlekurven. Verdien av denne variabelen vil bli økt når en ny kakevare legges til i handlekurven, og verdien av denne variabelen vil bli redusert når en kakeelement fjernes fra handlekurven. Denne variabelen blir initialisert til 0 etter fullført eller kansellert kjøpet.

Cust_balance:

Det er en heltallvariabel og vil bli brukt til å lagre kontantverdien av kunden. Verdien av denne variabelen vil bli økt når brukeren tilfører kontantverdien, og verdien av denne variabelen vil bli redusert når kjøpsoppgaven er fullført.

svar:

Det er en strengvariabel, og den vil bli brukt til å ta brukerens inngangsverdi for å gjøre den spesielle oppgaven.

Metoder

display_menu ():

Denne metoden er definert for å vise menylisten over applikasjonen. Hvis brukeren typer "1”, Så innholdet i Produkter.tekst Filen vises. Hvis brukeren typer "2”Så vil inngangsprompete om å ta produktnavnet vises. Hvis produktnavnet gitt av brukeren eksisterer i filen, vil produktnavnet bli lagt til i CART_ITEMS liste, og prisen på produktet vil bli lagt til med CART_AMOUNT. Hvis brukeren typer "3”, Så blir applikasjonen avsluttet. FG () -funksjonen har blitt brukt i metoden for å skrive ut den fargede teksten i terminalen.

display_products ():

Denne metoden er definert for å lese Produkter.tekst Fillinje for linje, del hver linje basert på komma ved hjelp av Split () -funksjonen og lagre den i en listevariabel. Deretter vil listevariabelen bli iterert ved hjelp av en for loop for å skrive ut filens innhold i et menneskelig lesbart format.

check_products ():

Denne metoden er definert for å sjekke om produktnavnet tatt fra brukeren eksisterer i Produkter.tekst fil. Hvis produktnavnet eksisterer i filen, vil prisen på det aktuelle produktet bli lagt til med verdien av CART_AMOUNT variabel, og det sanne Verdien vil bli returnert fra funksjonen. Meldingen, "Produktet eksisterer ikke.”Vil bli skrevet ut hvis produktnavnet ikke eksisterer i filen, og Falsk Verdien vil bli returnert fra funksjonen. Denne metoden vil bli kalt når et produktnavn er hentet fra brukeren for å legge til handlekurven.

Manuset til “butikk”Klasse er gitt nedenfor:

""
'Shop' -klassen er definert her for å vise hovedmenyen, Vis produktliste,
og sjekk produktet som finnes i filen eller ikke
""
Klassebutikk:
# Erklære liste for å lagre det valgte produktet
CART_ITEMS = []
# Initialiser vognmengden
CART_AMOUNT = 0
# Initialiser kundebalansen
Cust_balance = 0
# Initialiser variabelen som tar brukerens innspill
svar = "
# Definer funksjon for å vise hovedmenyen
def display_menu (selv):
Print ("\ n%s%s%s"%(FG (150), '*** Velkommen til vår kakebutikk ***', attr (0)))
Print ("\ n%s%s"%(FG (170), '1. Vise produkter ... '))
trykk ("2. Velg produkt ... ")
trykk ("3. Exit")
selv-.Svar = input ("\ nype 1 eller 2 eller 3:")
# Definer funksjon for å lese og vise produktet fra tekstfilen
def display_products (self):
Print ("\ n the List of Products er gitt nedenfor: \ n")
med åpne ('produkter.txt ') som f:
linje = f.Readline ()
# Skriv ut overskriften til filen
print ("id \ tname \ t \ tprice \ tmaking date \ texpire date")
Mens linje:
# Initialiser teller for å sette rommet mellom åkrene
teller = 0
# Les hver linje fra filen
linje = f.Readline ()
# Del hver linje basert på komma (,) og lagre i en liste
feltliste = liste (linje.dele(","))
print ('\ t')
# Les hver verdi fra listen og skriv ut
For Val i feltliste:
Hvis teller == 0:
Space = "
ellers:
plass = '\ t'
teller = teller + 1
Hvis teller == 3:
val = '$' + val
trykk (val, slutt = plass)
# Definer funksjon for å sjekke det valgte produktet i filen eller ikke
def check_products (self, search):
# Åpne filen for lesing
med åpne ('produkter.txt ') som f:
# Les hver linje i filen
for linje i f:
# Del linjeverdien basert på komma (,)
feltliste = liste (linje.dele(","))
For Val i feltliste:
# Sjekk den valgte produktkampen med verdien eller ikke
Hvis søk == val.strip ():
# Legg til prisen på produktet med handlekurven hvis serchverdien funnet
selv-.CART_AMOUNT = selv.Cart_amount + int (feltliste [2].strip ())
Returner sann
# Skriv ut melding hvis det valgte produktet ikke eksisterer i filen
trykk ("Produktet eksisterer ikke.")
return falsk

Lag "ordre" -klasse

Etter å ha lagt til “butikk”Klasse, legg til skriptet for å definere“rekkefølge”Klasse inn i butikk.py fil. Dette er en barneklasse som er arvet fra “butikk”Klasse som inneholder tre metoder. Formålet med disse metodene er nevnt nedenfor.

Metoder

Legg i handlekurv():

Denne metoden er definert for å legge produktnavnet i CART_ITEMS Liste hvis produktet finnes i Produkter.tekst fil og skriv ut en melding etter å ha lagt produktet i handlekurven. Denne metoden vil bli kalt når brukeren velger det andre alternativet ("Velg produkt ...") på hovedmenyen ved å skrive "2" eller det første alternativet i den andre menyen ("Legg til produkt") ved å skrive "1".

remove_from_cart ():

Denne metoden er definert for å fjerne produktet fra CART_ITEMS Liste hvis produktnavnet hentet fra brukeren eksisterer i CART_ITEMS. Denne metoden vil bli kalt når brukeren velger det andre alternativet til den andre menyen ("Fjern produkt") ved å skrive "2". Etter å ha fjernet produktet, blir prisen på det fjerne produktet trukket fra CART_AMOUNT variabel. “Produktet eksisterer ikke i handlekurven.”Melding vil bli skrevet ut hvis produktnavnet tatt fra brukeren ikke eksisterer i CART_ITEMS liste.

display_cart ():

Denne metoden er definert for å vise innholdet i CART_ITEMS liste, verdien av CART_AMOUNT, og de andre menyelementene for å legge til produkt eller fjerne produktet eller bekrefte betaling eller avbryte kjøpet. Hvis CART_ITEMS Listen er tom, deretter meldingen, "Vognen din er tom.”Vises. Denne metoden vil bli kalt når oppgaven med å legge til et produkt eller fjerne et produkt er fullført. Denne metoden vil returnere verdiene på CART_ITEMS -listen hvis handlekurven ikke er tom eller returnerer 0 hvis handlekurven er tom.

Manuset til “rekkefølge”Klasse er gitt nedenfor:

""
'Order' -klassen er definert for å legge til produkt i handlekurven, fjerne produktet
fra vogna, og vis handlekurven
""
Klassebestilling (butikk):
# Definer funksjon for å legge til produkt i handlekurven
def add_to_cart (selv, vare):
# Legg til produkt i handlekurven
selv-.CART_ITEMS.vedlegg (vare)
trykk ("%s legges til i handlekurven." %(vare)))
# Definer funksjon for å fjerne produktet fra handlekurven
def remove_from_cart (self, obj):
element = input ("Skriv inn produktnavnet:")
Hvis vare i obj.CART_ITEMS:
# Fjern produktet fra handlekurven
obj.CART_ITEMS.fjerne gjenstand)
Print ("Produktet fjernes fra vogna")
# Åpne filen for å søke på prisen på produktet
med åpne ('produkter.txt ') som f:
for linje i f:
feltliste = liste (linje.dele(","))
For Val i feltliste:
Hvis element == val.strip ():
# Fjern prisen på det fjerne produktet fra handlekurven
obj.CART_AMOUNT = obj.CART_AMOUNT - INT (feltliste [2].strip ())
ellers:
trykk ("Produktet eksisterer ikke i handlekurven.")
# Definer funksjon for å vise handlekurverelementene
def display_cart (self, obj):
# Kontroller handlekurven for å finne ut at handlekurven er tom eller ikke
Hvis obj.CART_AMOUNT> 0:
# Vis de ekstra handlekurvvarene
Print ("\ Nyou har lagt til følgende element (er) i handlekurven: \ n")
For Val i meg selv.CART_ITEMS:
trykk (val)
# Skriv ut den totale handlekurven
Print ("\ n%s%s%d%s"%(FG (25), 'Totalt beløp: $', OBJ.Cart_amount, attr (0)))
# Vis den andre menyen
trykk ("\ n1. Legg til produkt ")
trykk ("2. Fjern produktet ")
trykk ("3. Bekreft betaling")
trykk ("4. Avbryt")
Ans = input ("\ nype 1 eller 2 eller 3 eller 4:")
Returner Ans
ellers:
# Skriv ut melding hvis handlekurven er tom
trykk ("Du var tom.")
retur 0

Lag "kunde" -klasse

Etter å ha lagt til “rekkefølge”Klasse, legg til skriptet for å definere“kunde”Klasse inn i butikk.py fil. Dette er en annen barneklasse som er arvet fra “rekkefølge”Klasse som inneholder konstruktørmetoden og en brukerdefinert metode. Formålet med disse metodene er nevnt nedenfor.

Metoder:

Konstruktørmetode

Konstruktørmetoden er definert av __init __ (). Anta at brukeren velger det tredje alternativet i den andre menyen ("Bekreft betaling"). I så fall konstruktøren av “kunde”Klasse vil bli kalt til å initialisere kundeinformasjonen på tidspunktet for objektoppretting av“kunde”Klasse og konkurrere om kjøpsoppgaven. Denne metoden vil ta fire argumenter. Dette er navn, adresse, telefon og kontanter.

kjøp_info ():

Denne metoden er definert for å vise kjøpsdetaljer som inneholder ordrenummer, ordredato, kundens navn, kundens adresse, kundens telefon, liste over kjøpte produkter og totalpris for alle kjøpte produkter. Her vil ordrenummeret bli generert ved hjelp av den tilfeldige () funksjonen. Denne metoden vil bli kalt hvis brukerverdien som bruker mer enn eller lik verdien av Cart_amount variabel.

Manuset til “kunde”Klasse er gitt nedenfor:

""
'Kunden' klasse -ID definert for å vise kjøpsinformasjonen
Etter å ha bekreftet betalingen
""
Klassekunde (bestilling):
# Definer konstruktør for å initialisere kundeinformasjonen
def __init __ (selv, navn, adresse, telefon, kontanter):
Navn = Navn
adresse = adresse
Kontakt_no = Telefon
add_cash = kontanter
# Definer funksjon for å vise kjøpsinformasjonen med kundedetaljer
Def Buy_Info (Self, OBJ):
# Gnerate et tilfeldig ordrenummer
ordre_no = tilfeldig.tilfeldig ()*100000000
ordre_no = runde (ordre_no)
# Initilisere bestillingsdatoen
I dag = dato.i dag()
order_date = i dag.Strftime (" %B %D, %Y")
# Skriv ut kjøpsinformasjon
Print ("\ Nyour kjøpsinformasjon er gitt nedenfor: \ n")
Print ("Bestill nr: %s" %ordre_no)
Print ("Bestillingsdato: %S" %Order_date)
Print ("Kundens navn: %S" %Navn)
Print ("Kundens adresse: %s" %adresse)
Print ("Kundens telefonnummer: %s" %kontakt_no)
# Skriv ut kjøpt produktinformasjon
print ("\ nPurchased produktliste: \ n")
For Val i meg selv.CART_ITEMS:
trykk (val)
Print ("\ n%s%s%d%s"%(FG (25), 'Totalt beløp: $', OBJ.Cart_amount, attr (0)))
trykk ("Takk.")

Lag gjenstander

Når. Til å begynne med gjenstanden for "butikk”Klasse vil bli definert, og display_menu () Metoden vil bli kalt ved å bruke dette objektet for å vise hovedmenyen. I skriptet har den første uendelige sløyfen blitt brukt til å vise hovedmenyen i starten av applikasjonen, og etter å ha bekreftet eller kansellert kjøpet. Denne sløyfen blir avsluttet, og applikasjonen vil bli lukket når brukeren velger det tredje alternativet ("Avslutt") på hovedmenyen. Den andre uendelige sløyfen har blitt brukt til å legge til produktene i handlekurven til brukeren typer "ingen" og viser den andre menyen etter å ha lagt til eller fjernet et produkt i handlekurven. Denne sløyfen vil bli avsluttet hvis brukeren velger det tredje ("Bekreft betaling") eller fjerde ("Avbryt") -alternativet til den andre menyen. Anta at brukeren velger det tredje alternativet til den andre menyen, og kontantbeløpet som er lagt til av brukeren er mindre enn CART_AMOUNT verdi. Da vises den andre menyen igjen ved å vise meldingen, "Du har ikke nok balanse.”. Både CART_ITEMS og CART_AMOUNT Verdiene vil bli fjernet etter å ha avsluttet den andre uendelige sløyfen for å gjøre neste kjøp. Skriptet til denne delen er gitt nedenfor:

# Forklar objektet for "butikk" -klassen
objshop = butikk ()
# Forklar den uendelige sløyfen for å vise menyen gjentatte ganger
# til brukeren trykker på '3'
Mens sant:
# Vis hovedmenyen
objshop.display_menu ()
# Angi startverdien for å fjerne_item
Fjern_Item = falsk
# Vis hovedmenyen hvis brukeren trykker på '1'
Hvis objshop.svar == '1':
objshop.display_products ()
# Vis innkjøpsalternativet hvis brukeren trykker på '2'
Elif Objshop.svar == '2':
# Erklære objektet i "orden" -klassen
Objorder = ordre ()
# Forklar den uendelige sløyfen for å vise den andre menyen gjentatte ganger
# til brukeren trykker på '3' eller '4'
Mens sant:
# Ta produktnavnet for å legge til i handlekurven hvis verdien av å fjerne_item er falsk
Hvis Remove_Item == FALSE:
element = input ("\ ntype produktnavnet:")
hvis element == 'Ingen':
# Vis vogna etter å ha lagt til eller fjernet produktet
return_val = objorder.display_cart (objshop)
# Avslutt fra løkken hvis vogna er tom
Hvis return_val == 0:
gå i stykker
elif return_val == '1':
element = input ("Skriv inn produktnavnet:")
# Sjekk produktet finnes i produktene.txt -fil eller ikke
pro_exist = objshop.sjekk_produkter (vare)
# Legg til produktene i handlekurven hvis produktet eksisterer
Hvis pro_exist == true:
Objorder.add_to_cart (vare)
Fjern_Item = falsk
elif return_val == '2':
# Fjern det valgte produktet fra handlekurven
return_val = objorder.remove_from_cart (objshop)
Fjern_Item = True
elif return_val == '3':
# Ta kundens informasjon
Navn = input ("Skriv inn navnet ditt:")
Adresse = input ("Skriv inn adressen din:")
Kontakt_no = input ("Skriv inn kontaktnummeret ditt:")
Kontanter = int (input ("Legg til kontanter: $"))
# Legg til kontantverdien med kundens nåværende saldo
objshop.Cust_Balance = objshop.Cust_balance + Cash
# Sjekk balansen til kunden er mindre enn vognmengden ikke
Hvis objshop.Cust_balance < objShop.cart_amount:
trykk ("Du har ikke nok balanse.")
ellers:
# Lag objekt av 'kundenes' klasse
objCustomer = kunde (navn, adresse, kontakt_no, kontanter)
# Skriv ut kjøpsinformasjonen
Objcustomer.kjøp_info (objshop)
# Trekk til kjøpsbeløpet fra kundens saldo
objshop.Cust_Balance = Cash - Objshop.CART_AMOUNT
gå i stykker
ellers:
# Skriv ut melding hvis kunden kansellerer kjøpet
trykk ("Du har kansellert kjøpet.")
gå i stykker
ellers:
# Legg til produktene i handlekurven hvis produktet eksisterer
pro_exist = objshop.sjekk_produkter (vare)
Hvis pro_exist == true:
Objorder.add_to_cart (vare)
print ("type" ingen "for å slutte å legge til produkt")
# Fjern vognlisten etter kjøpt eller kansellert
objshop.CART_ITEMS.klar()
# Fjern vognbeløpet etter kjøpt eller kansellert
objshop.CART_AMOUNT = 0
# Avslutt fra applikasjonen hvis brukerne trykker på '3'
Elif Objshop.svar == '3':
trykk ("\ nterminert fra applikasjonen.")
exit()

Applikasjonsutgang

Etter å ha lagt alle skriptene i butikk.py Fil serielt, kan du sjekke om applikasjonen fungerer riktig eller ikke. Måten å bruke denne applikasjonen er vist i denne delen av opplæringen.

Kjør søknaden

Til å begynne med må brukeren åpne terminalen og gå til stedet der Produkter.tekst og butikk.py Filer er lokalisert. Du må lagre disse filene på samme sted for å få utdataene riktig. Kjør følgende kommando for å utføre applikasjonen:

$ Python3 -butikk.py

Følgende utgang vises etter å ha utført den forrige kommandoen. Dette er hovedmenyen i denne applikasjonen. Brukeren kan velge hvilket som helst av de tre alternativene som vises i utdataene ved å skrive "1" eller “2” eller “3”. Listen over produktene vises hvis brukeren typer, "1". Inngangspromptet om å ta produktnavnet vil vises hvis brukeren typer, “2”. Applikasjonen vil være lukket hvis brukeren typer, “3”. Menyen vises igjen hvis brukeren skriver inn noe annet tegn.

Vise produkter

Følgende utdata vises hvis brukeren typer "1". Innholdet i Produkter.tekst Filen er vist i denne utgangen. Brukeren kan velge eventuelle kakenavn som vises i utdataene for å legge til handlekurven, og brukeren må velge menyens andre alternativ for å gjøre oppgaven.

Legg til produkt i handlekurven ved å bruke hovedmenyen

Det finnes to måter i applikasjonen for å legge produktet i handlekurven. Den første måten er å velge det andre alternativet på hovedmenyen. Følgende utdata vises hvis brukeren skrev “2”. Brukeren må skrive navnet på et hvilket som helst kakeelement som finnes i filen for å legge den til i handlekurven.

Følgende utgang vises hvis brukeren typer "Mudkake”Som finnes i produktlisten. Utgangen viser at produktet er lagt til handlekurven, og brukeren kan legge til et annet produkt ved å skrive produktnavnet igjen. Hvis brukeren ikke vil legge til noe produkt, må de skrive "ingen”.

Følgende utgang vises hvis et annet produkt som heter “Kaffekake" er lagt til:

Følgende utgang vises hvis verdien "ingen”Skrevet som inngangsverdien. Listen over vognelementene vises i utgangen. To kakeartikler er lagt til: “Mudkake”Og“Kaffekake”. Prisen på “Mudkake" er $ 35 og "Kaffekake" er $ 22. Den totale prisen på kakene er $ 35+$ 22 = 57 dollar, vist i utgangen. Den andre menyen ble vist etter å ha vist handlekurvinformasjonen. Brukeren kan legge til produkter, fjerne produkter, kjøpe produktene som er lagt til i handlekurven og avbryte kjøpet ved hjelp av denne menyen:

Legg til produkt i handlekurven ved å bruke den andre menyen

Følgende utdata vises hvis brukeren skrev “2”. Brukeren må skrive navnet på ethvert kakeelement som finnes i filen for å legge den til i handlekurven.

Følgende utgang vises etter å ha skrevet "vaniljekake" som inngangsverdien. Brukeren kan legge til flere elementer i handlekurven ved å skrive produktnavnet igjen. Hvis brukeren ikke vil legge til flere produkter, må de skrive "ingen" for å slutte å legge produktet i handlekurven.

Følgende utgang vises etter å ha skrevet "ingen”Som inngangsverdi. Utgangen viser at det nye produktet “Vaniljekake”Er blitt lagt til handlekurven, og prisen på“Vaniljekake”Er blitt lagt til med handlekurven. Så det totale beløpet er nå $ 57 + $ 30 = 87 dollar. Den andre menyen har dukket opp igjen. Formålet med denne menyen er blitt forklart tidligere.

Fjern produktet fra handlekurven

Følgende utgang vises hvis brukeren typer "2”Som inngangsverdi. Brukeren må skrive navnet på et hvilket som helst kakeelement som finnes i handlekurven for å fjerne den fra handlekurven. Hvis brukeren skriver ut en verdi som ikke eksisterer i handlekurven, vil en feilmelding bli skrevet ut.

Følgende utgang vises hvis brukeren typer "Sjokoladekake”Som en inngangsverdi som finnes i produktene.txt -fil, men eksisterer ikke i handlekurven. Så feilmeldingen, "Produktet eksisterer ikke i vogna.“, Har dukket opp i utdataene, og ingen vare er lagt til eller fjernet fra handlekurven. Den totale mengdeverdien på handlekurven har ikke endret seg også.

Følgende utgang vises hvis brukeren typer, "Kaffekake”Som inngangsverdien som eksisterer i handlekurven. Suksessmeldingen, “Produktet fjernes fra vogna”, er skrevet ut. Utgangen viser også at "Kaffekake”Er fjernet fra handlekurven, og prisverdien til denne varen er trukket fra handlekurven. Prisen på “Kaffekake”Er $ 22. Så det totale beløpet på handlekurven er nå $ 87 - $ 22 = $ 65.

Følgende utgang vises hvis alle elementene fra handlekurven fjernes. Utgangen viser to meldinger. Det ene er å fjerne det siste produktet, og et annet er å informere brukeren om at handlekurven nå er tom. Siden det ikke er noe produkt i vogna, har den andre menyen vært borte, og hovedmenyen har dukket opp igjen.

Utføre betaling

Det tredje alternativet med den andre menyen brukes til å bekrefte kjøpet ved å legge til kundens informasjon og handlekurvmengdeverdien. Følgende utdata vises hvis brukeren typer “3” For å velge det tredje alternativet i den andre menyen etter å ha lagt til noen kakeartikler i handlekurven. Utgangen viser at to kakeartikler legges til i handlekurven, og den totale prisen på kakene er $ 60. Inngangspromptet om å ta kundens navn har dukket opp etter å ha skrevet verdien, “3”. Deretter ser det ut til at andre inndatørshelter legger til annen informasjon relatert til kunden og kontantbeløpet for å kjøpe produktet.

I den følgende utdata er kundens navn, adresse, telefonnummer og kontantbeløpet lagt til. Men den ekstra kontantverdien er mindre enn totalprisen på produktene. Den totale handlekurven var $ 60, og $ 45 er lagt til som kontantverdien. Meldingen, “Du har ikke nok balanse.”Har dukket opp av denne grunn, og ordren ble kansellert ved å gjøre vogna tom. Hovedmenyen har dukket opp igjen.

Følgende utdata vises hvis kontantene som er lagt til av brukeren er lik eller mer enn den totale mengden av handlekurven. Her er vognens totale pris $ 35, og brukeren la til $ 100 som kontantverdien, noe som er større enn totalprisen. Utgangen viser også at et tilfeldig tall er generert som ordrenummer, og den gjeldende systemdatoen er skrevet ut som ordredato. Hovedmenyen har dukket opp igjen for neste kjøp. Brukerens nåværende saldo er $ 100 - $ 35 = $ 65. Hvis den samme brukeren igjen kjøper noen kakeartikler fra butikken, blir kjøpsbeløpet trukket fra brukerens nåværende saldo.

Følgende utdata vises hvis brukeren kjøper igjen og kjøpsbeløpet er mindre enn deres nåværende saldo. I følge utdataene er to kakeartikler lagt til handlekurven, og totalprisen på kakene er $ 47. Brukeren la til $ 0 kontanter, men kundens nåværende saldo er $ 65. Så betalingen er fullført, og "takk" -meldingen er skrevet ut. Brukerens nåværende saldo er $ 65 - $ 47 = $ 18.

Hvis den samme brukeren igjen legger til et element til handlekurven og totalprisen på varen er mindre enn den nåværende saldoen til brukeren, vil følgende utgang vises. Brukerens nåværende saldo er $ 18 etter den siste transaksjonen, men produktets totale pris er $ 30. Så meldingen, “Du har ikke nok balanse.”Er blitt skrevet ut og ordren er kansellert ved å gjøre vogna tom.

Følgende utdata vises hvis brukeren legger til $ 12 med $ 18 for å kjøpe "Vaniljekake”På $ 30. Brukerens nåværende saldo er $ 0 etter kjøpet.

Avbryt betaling

Brukeren kan avbryte bestillingen etter å ha lagt til elementer i handlekurven ved å velge det fjerde alternativet til den andre menyen eller ved å fjerne alle elementene fra handlekurven. Følgende utdata vises hvis brukeren velger det fjerde alternativet for den andre menyen ved å skrive “4”. Meldingen, “Du har kansellert kjøpet.”Er blitt skrevet ut for å kansellere bestillingen. Måten å kansellere bestillingen ved å fjerne alle elementene fra vogna har blitt vist før. Hovedmenyen vises etter å ha kansellert bestillingen.

Lukk søknaden

Applikasjonen kan lukkes ved å velge det tredje alternativet på hovedmenyen. Følgende utdata vises hvis brukeren typer “3” For å lukke søknaden. Søknaden er avsluttet av meldingen, "avsluttet fra søknaden".

Begrensninger i denne applikasjonen

Måten å implementere en veldig enkel tekstbasert applikasjon av Python-klasser har blitt vist i denne opplæringen. Men denne applikasjonen har noen begrensninger, som er nevnt nedenfor:

  • Ingen ordre eller kundeinformasjon lagres permanent. Søknaden må føre journal over det forrige salget. Ytterligere to tekstfiler kan opprettes for å lagre bestillingen og kundeinformasjonen.
  • Ingen aksjekord opprettholdes i denne applikasjonen, som er en viktig del av butikksøknaden. Hvis noe produkt er utsolgt, bør en melding sendes til brukeren.
  • Hvis brukeren legger til det samme produktet flere ganger, vil hvert produkt bli lagt til separat, noe som er ineffektivt. Det er viktig å telle antallet av hvert produkt i handlekurven hvis det samme produktet legges til flere ganger.
  • Det er ikke noe alternativ å fjerne alle elementene fra handlekurven med enkeltkommando uten å kansellere bestillingen. Brukeren må fjerne hvert element separat for å gjøre vogna tom.
  • Den gjenværende kundebalansen vises ikke etter å ha fullført betalingen av ordren. Det vil hjelpe brukeren å legge til kontanter for neste bestilling.

*** Leserne av denne opplæringen vil prøve å implementere funksjonene som er nevnt ovenfor for å utvikle sine programmeringsferdigheter og gjøre applikasjonen mer effektiv for å lære.

Videoopplæring om dette emnet

Konklusjon

Retningslinjene for å implementere en enkel tekstbasert Python-applikasjon er gitt i denne opplæringen for nybegynner Python-brukere. De grunnleggende funksjonene i butikkapplikasjonen brukes til å implementere i denne opplæringen, for eksempel produktliste, legge til i handlekurven, fjerne fra handlekurven, betalingssystemet og avbryte betaling. For enkelhets skyld brukte vi tekstfilen her for å lagre dataene permanent. Men enhver standard databaseapplikasjon, for eksempel SQLite og MySQL, kan brukes til å administrere applikasjonsdataene mer effektivt.