Noen relaterte Python-klasser har blitt brukt til å utvikle den tekstbaserte “Cake Shop Application” her.
Prosjektfunksjoner
Forutsetninger
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 datoImporter 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 butikkprosjektetLag "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:
""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:
""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:
""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" -klassenApplikasjonsutgang
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.pyFø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:
*** 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.