Esempi di lezioni di Python

Esempi di lezioni di Python
Python è un linguaggio di programmazione molto popolare per lo sviluppo di diversi tipi di applicazioni come applicazioni basate sul testo, applicazioni desktop, applicazioni Web, ecc. Python supporta sia la programmazione strutturata che la programmazione orientata agli oggetti. Questo tutorial ha lo scopo di insegnare come usare le lezioni di Python mostrando un vero esempio di lezioni di Python.

Alcune lezioni di Python correlate sono state utilizzate per sviluppare qui la "Applicazione di Cake Shop" basata sul testo.

Funzionalità del progetto

  • Visualizza l'elenco delle torte del negozio con i dettagli
  • Aggiungi una o più torte al carrello per l'acquisto
  • Rimuovere una o più torte dal carrello
  • Conferma l'ordine
  • Cancella l'ordine
  • Chiudi il programma

Prerequisiti

  • Python 3.La versione 8+ è necessaria per l'installazione nel sistema operativo per avviare il lavoro del progetto.
  • La conoscenza di base della programmazione orientata agli oggetti di Python richiederà correttamente la comprensione dello script utilizzato in questo tutorial.

Implementazione di "Applicazione di cake shop"

Verranno utilizzate tre classi per implementare le funzionalità di questa applicazione. Questi sono "negozio","ordine", E "cliente". IL "negozio"La classe è la classe principale che verrà utilizzata per visualizzare il menu principale dell'applicazione, visualizzare l'elenco delle torte del negozio e verificare se la torta selezionata dall'utente esiste nel negozio. IL "ordine"La classe è una classe figlio che verrà creata ereditando da"negozio"Classe e verrà utilizzato per aggiungere oggetti per torta nel carrello, rimuovere gli oggetti della torta dal carrello e visualizzare gli oggetti selezionati del carrello. IL "cliente"La classe è un'altra classe per bambini che verrà creata ereditando da"ordine"Classe e verrà utilizzato per visualizzare i dettagli di acquisto con le informazioni sui clienti. Il seguente diagramma mostra come funzionerà questa semplice applicazione:

Memorizzare le informazioni sul prodotto

Qualsiasi applicazione di server di database popolare può essere allegata con l'applicazione Python per archiviare i dati. Tuttavia, in questa applicazione non è stato utilizzato nessun server di database per mantenerlo semplice e un file di testo è stato utilizzato per archiviare i dati. Crea un file di testo denominato prodotti.TXT e aggiungere le seguenti informazioni sul prodotto nel file prima di iniziare la parte successiva di questa applicazione. L'utente selezionerà l'elemento torta in questo file da aggiungere al carrello per l'acquisto. Ogni campo è separato da una virgola qui:

prodotti.TXT

ID, nome, prezzo, data di produzione, data scadenza
01, torta al cioccolato, 25, 01-06-22, 07-06-22
02, Torta del caffè, 22, 02-06-22, 10-06-22
03, torta alla vaniglia, 30, 03-06-22, 11-06-22
04, Mud Cake, 35, 02-06-22, 09-06-22
05, torta di straberry, 40.03-06-22, 12-06-22

Importa i moduli necessari

In questa applicazione sono stati utilizzati tre moduli per generare un numero casuale, leggere la data corrente e creare un testo colorato nel terminale. Crea un file Python denominato negozio.Py e aggiungi il seguente script all'inizio del file per importare i moduli. IL casuale Il modulo genererà il numero dell'ordine. IL data Il modulo leggerà la data di sistema corrente. E il colorato Il modulo genererà il testo colorato.

#IMPORT MODULI RICHIESTI PER IL PROGETTO SHOP
importare casuali
Dalla data di importazione datetime
Dall'importazione colorata FG, BG, ATRT

Crea la classe "Shop"

Dopo aver importato i moduli necessari, aggiungi lo script per definire "negozio"Classe nel negozio.Py file. Questa è la classe base di questa applicazione che contiene quattro variabili di classe e tre metodi. Lo scopo di queste variabili e i metodi sono menzionati di seguito.

Variabili

cart_items:

È una variabile di elenco e verrà utilizzato per archiviare l'elemento della torta aggiunto dall'utente. Un nuovo elemento verrà aggiunto all'elenco quando viene selezionato un nuovo elemento di torta per l'aggiunta al carrello e un elemento esistente verrà rimosso se l'utente seleziona un elemento della torta per la rimozione del carrello. Questa variabile verrà cancellata dopo aver completato l'acquisto o annullata l'acquisto.

cart_amount:

È una variabile intera e verrà utilizzato per memorizzare la somma del prezzo del prodotto aggiunto nel carrello. Il valore di questa variabile sarà aumentato quando un nuovo elemento di torta viene aggiunto al carrello e il valore di questa variabile verrà ridotto quando un elemento della torta viene rimosso dal carrello. Questa variabile verrà inizializzata a 0 dopo aver completato o annullato l'acquisto.

cust_balance:

È una variabile intera e verrà utilizzato per archiviare il valore aggiunto in contanti dal cliente. Il valore di questa variabile verrà aumentato quando l'utente aggiunge il valore in contanti e il valore di questa variabile verrà ridotto quando l'attività di acquisto sarà completata correttamente.

risposta:

È una variabile stringa e verrà utilizzato per prendere il valore di input dell'utente per eseguire l'attività particolare.

Metodi

display_menu ():

Questo metodo è stato definito per mostrare l'elenco dei menu dell'applicazione. Se l'utente tipi "1", Quindi il contenuto del prodotti.TXT verrà visualizzato il file. Se l'utente tipi "2", Quindi verrà visualizzato il prompt di input per prendere il nome del prodotto. Se il nome del prodotto fornito dall'utente esiste nel file, il nome del prodotto verrà aggiunto al cart_items elenco e il prezzo del prodotto verrà aggiunto con cart_amount. Se l'utente tipi "3", Quindi l'applicazione verrà terminata. La funzione FG () è stata utilizzata nel metodo per stampare il testo colorato nel terminale.

display_products ():

Questo metodo è stato definito per leggere il prodotti.TXT File riga per riga, dividere ogni riga in base alla virgola usando la funzione split () e memorizzarla in una variabile di elenco. Successivamente, la variabile dell'elenco verrà iterata utilizzando un ciclo per stampare il contenuto del file in un formato leggibile dall'uomo.

check_products ():

Questo metodo è stato definito per verificare se il nome del prodotto prelevato dall'utente esiste in prodotti.TXT file. Se il nome del prodotto esiste nel file, verrà aggiunto il prezzo di quel particolare prodotto con il valore del cart_amount variabile, e il vero Il valore verrà restituito dalla funzione. Il messaggio, "Il prodotto non esiste."Verrà stampato se il nome del prodotto non esiste nel file e il Falso Il valore verrà restituito dalla funzione. Questo metodo verrà chiamato ogni volta che un nome di prodotto viene preso dall'utente per l'aggiunta al carrello.

La sceneggiatura del "negozio"La classe è fornita di seguito:

"
La classe "Shop" è definita qui per mostrare il menu principale, visualizzare l'elenco dei prodotti,
e controllare il prodotto esiste nel file o no
"
Class Shop:
# Dichiarare elenco per archiviare il prodotto selezionato
cart_items = []
# Inizializza l'importo del carrello
cart_amount = 0
# Inizializza l'equilibrio del cliente
Cust_Balance = 0
# Inizializza la variabile che accetta l'input dell'utente
Risposta = "
# Definisci la funzione per visualizzare il menu principale
def Display_menu (self):
print ("\ n%s%s%s"%(fg (150), '*** Benvenuti nel nostro negozio di torte ***', attr (0)))
Stampa ("\ n%s%s"%(fg (170), '1. Visualizza i prodotti ... '))
Stampa ("2. Seleziona il prodotto ... ")
Stampa ("3. Uscita")
se stesso.risposta = input ("\ ntype 1 o 2 o 3:")
# Definisci la funzione per leggere e visualizzare il prodotto dal file di testo
def display_products (self):
print ("\ n L'elenco dei prodotti è riportato di seguito: \ n")
con Open ('Products.txt ') come f:
riga = f.linea di lettura()
# Stampa l'intestazione del file
print ("id \ tname \ t \ tprice \ tmaking Date \ Texpire Date")
Mentre linea:
# Inizializza il contatore per impostare lo spazio tra i campi
contatore = 0
# Leggi ogni riga dal file
riga = f.linea di lettura()
# Dividi ogni riga in base alla virgola (,) e archivia in un elenco
FieldList = elenco (riga.diviso(","))
print ('\ t')
# Leggi ogni valore dall'elenco e stampa
Per Val in FieldList:
Se Counter == 0:
Space = "
altro:
spazio = '\ t'
contatore = contatore + 1
Se contatore == 3:
Val = '$' + Val
Stampa (val, end = spazio)
# Definire la funzione per verificare che il prodotto selezionato esista nel file
def check_products (self, ricerca):
# Apri il file per la lettura
con Open ('Products.txt ') come f:
# Leggi ogni riga del file
per la linea in f:
# Dividi il valore della linea in base alla virgola (,)
FieldList = elenco (riga.diviso(","))
Per Val in FieldList:
# Controlla la corrispondenza del prodotto selezionato con il valore o no
Se Search == Val.striscia():
# Aggiungi il prezzo del prodotto con l'importo del carrello se il valore serch è stato trovato
se stesso.cart_amount = self.CART_AMOUNT + INT (FieldList [2].striscia())
restituire vero
# Messaggio di stampa se il prodotto selezionato non esiste nel file
stampa ("Il prodotto non esiste.")
restituire false

Crea la classe "ordina"

Dopo aver aggiunto il "negozio"Classe, aggiungi lo script per definire il"ordine"Classe nel negozio.Py file. Questa è una classe per bambini ereditata da "negozio"Classe che contiene tre metodi. Lo scopo di questi metodi è menzionato di seguito.

Metodi

Aggiungi al carrello():

Questo metodo è stato definito per aggiungere il nome del prodotto al cart_items elenco se il prodotto esiste in prodotti.TXT File e stampa un messaggio dopo aver aggiunto il prodotto nel carrello. Questo metodo verrà chiamato quando l'utente seleziona la seconda opzione ("Seleziona prodotto ...") del menu principale digitando "2" o la prima opzione del secondo menu ("Aggiungi prodotto") digitando "1".

remove_from_cart ():

Questo metodo è stato definito per rimuovere il prodotto da cart_items elenco se il nome del prodotto prelevato dall'utente esiste in cart_items. Questo metodo verrà chiamato quando l'utente seleziona la seconda opzione del secondo menu ("Rimuovi il prodotto") digitando "2". Dopo aver rimosso il prodotto, il prezzo del prodotto rimosso verrà detratto dal cart_amount variabile. "Il prodotto non esiste nel carrello."Il messaggio verrà stampato se il nome del prodotto prelevato dall'utente non esiste in cart_items elenco.

display_cart ():

Questo metodo è stato definito per visualizzare il contenuto del cart_items Elenco, il valore del cart_amount, e le voci del secondo menu per aggiungere il prodotto o rimuovere il prodotto o confermare il pagamento o annullare l'acquisto. Se la cart_items L'elenco è vuoto, quindi il messaggio, "il tuo carrello è vuoto." sarà mostrato. Questo metodo verrà chiamato quando viene completato il compito di aggiungere un prodotto o rimuovere un prodotto. Questo metodo restituirà i valori dell'elenco CART_ITEMS se il carrello non è vuoto o restituirà 0 se il carrello è vuoto.

La sceneggiatura del "ordine"La classe è fornita di seguito:

"
La classe 'order' è definita per aggiungere il prodotto nel carrello, rimuovere il prodotto
dal carrello e visualizzare l'elemento del carrello
"
Ordine di classe (negozio):
# Definisci la funzione per aggiungere il prodotto nel carrello
def add_to_cart (self, elemento):
# Aggiungi il prodotto nel carrello
se stesso.cart_items.append (articolo)
stampa ("%s viene aggiunto nel carrello." %(articolo))
# Definisci la funzione per rimuovere il prodotto dal carrello
def thtoy_from_cart (self, obj):
Item = Input ("Immettere il nome del prodotto:")
Se l'oggetto in OBJ.cart_items:
# Rimuovi il prodotto dal carrello
obj.cart_items.Rimuovi oggetto)
Stampa ("Il prodotto viene rimosso dal carrello")
# Apri il file per cercare il prezzo del prodotto
con Open ('Products.txt ') come f:
per la linea in f:
FieldList = elenco (riga.diviso(","))
Per Val in FieldList:
Se item == Val.striscia():
# Rimuovere il prezzo del prodotto rimosso dall'importo del carrello
obj.cart_amount = obj.CART_AMOUNT - INT (Fieldlist [2].striscia())
altro:
Stampa ("Il prodotto non esiste nel carrello.")
# Definisci la funzione per visualizzare gli elementi del carrello
def display_cart (self, obj):
# Controlla l'importo del carrello per scoprire che il carrello è vuoto o no
Se obj.cart_amount> 0:
# Visualizza gli elementi del carrello aggiunto
Stampa ("\ nyou hanno aggiunto i seguenti elementi nel carrello: \ n")
per val in sé.cart_items:
Stampa (Val)
# Stampa l'importo totale del carrello
Stampa ("\ n%s%s%d%s"%(fg (25), 'importo totale: $', obj.cart_amount, attr (0)))
# Visualizza il secondo menu
Stampa ("\ n1. Aggiungi prodotto ")
Stampa ("2. Rimuovere il prodotto ")
Stampa ("3. Conferma il pagamento ")
Stampa ("4. Annulla")
Ans = input ("\ ntype 1 o 2 o 3 o 4:")
restituire Ans
altro:
# Messaggio di stampa se il carrello è vuoto
stampa ("Il tuo carrello è vuoto.")
restituzione 0

Crea la classe "cliente"

Dopo aver aggiunto il "ordine"Classe, aggiungi lo script per definire il"cliente"Classe nel negozio.Py file. Questa è un'altra classe di bambini ereditata da "ordine"Classe contenente il metodo del costruttore e un metodo definito dall'utente. Lo scopo di questi metodi è menzionato di seguito.

Metodi:

Metodo del costruttore

Il metodo del costruttore è definito da __init __ (). Supponiamo che l'utente selezi la terza opzione del secondo menu ("Conferma il pagamento"). In tal caso, il costruttore del "cliente"La classe verrà chiamata per inizializzare le informazioni sui clienti al momento della creazione di oggetti di"cliente"Classe e competere per l'attività di acquisto. Questo metodo richiederà quattro argomenti. Questi sono nome, indirizzo, telefono e contanti.

Acquista_Info ():

Questo metodo è stato definito per visualizzare i dettagli di acquisto contenenti il ​​numero dell'ordine, la data dell'ordine, il nome del cliente, l'indirizzo del cliente, il telefono del cliente, l'elenco dei prodotti acquistati e il prezzo totale di tutti i prodotti acquistati. Qui, il numero dell'ordine verrà generato usando la funzione casuale (). Questo metodo verrà chiamato se il valore in contanti aggiunto dall'utente è superiore o uguale al valore di il cart_amount variabile.

La sceneggiatura del "cliente"La classe è fornita di seguito:

"
ID classe "Cliente" definito per visualizzare le informazioni di acquisto
Dopo aver confermato il pagamento
"
Cliente di classe (ordine):
# Definire il costruttore per inizializzare le informazioni sui clienti
def __init __ (self, nome, indirizzo, telefono, contanti):
nome = nome
indirizzo = indirizzo
contact_no = telefono
add_cash = contanti
# Definisci funzione per visualizzare le informazioni di acquisto con i dettagli del cliente
def acquista_info (self, obj):
# GNATE un numero di ordine casuale
ordine_no = casuale.casuale ()*100000000
order_no = round (ordine_no)
# Inizia la data dell'ordine
oggi = data.Oggi()
order_date = oggi.strftime (" %b %d, %y")
# Stampa informazioni di acquisto
print ("\ nyour Informazioni di acquisto sono riportate di seguito: \ n")
Stampa ("Ordine No: %S" %Order_No)
Stampa ("Data dell'ordine: %s" %ordine_date)
Stampa ("Nome del cliente: %S" %Nome)
Print ("Indirizzo del cliente: %S" %Indirizzo)
Stampa ("NO per telefono del cliente: %s" %contact_no)
# Stampa Informazioni sul prodotto acquistate
Print ("\ npurchased Product Elenco: \ n")
per val in sé.cart_items:
Stampa (Val)
Stampa ("\ n%s%s%d%s"%(fg (25), 'importo totale: $', obj.cart_amount, attr (0)))
Stampa ("Grazie.")

Creare oggetti

Dopo aver definito le classi necessarie di applicazione, aggiungi lo script per creare oggetti per l'utilizzo delle variabili di classe e chiamare i metodi per completare l'implementazione della "Applicazione del negozio di torte". Inizialmente, l'oggetto del "negozio"La classe verrà definita e il display_menu () Il metodo verrà chiamato utilizzando questo oggetto per la visualizzazione del menu principale. Nello script, il primo ciclo infinito è stato utilizzato per visualizzare il menu principale all'inizio dell'applicazione e dopo aver confermato o annullato l'acquisto. Questo ciclo verrà terminato e l'applicazione verrà chiusa quando l'utente seleziona la terza opzione ("uscita") del menu principale. Il secondo ciclo infinito è stato utilizzato per aggiungere i prodotti nel carrello fino ai tipi di utente "nessuno" e visualizza il secondo menu dopo l'aggiunta o la rimozione di un prodotto nel carrello. Questo ciclo verrà terminato se l'utente seleziona l'opzione terzo (Conferma il pagamento ") o quarto (" cancellazione ") del secondo menu. Supponiamo che l'utente selezi la terza opzione del secondo menu e l'importo in contanti aggiunto dall'utente è inferiore al cart_amount valore. Quindi il secondo menu verrà nuovamente visualizzato visualizzando il messaggio, "Non hai abbastanza equilibrio.". Entrambi cart_items E cart_amount i valori verranno cancellati dopo aver terminato il secondo ciclo infinito per effettuare il prossimo acquisto. La sceneggiatura di questa parte è fornita di seguito:

# Dichiarare oggetto della classe "Shop"
objshop = shop ()
# Dichiarare il ciclo infinito per visualizzare ripetutamente il menu
# fino a quando l'utente preme '3'
mentre è vero:
# Visualizza il menu principale
Objshop.display_menu ()
# Imposta il valore iniziale per remove_item
Rimuovi_item = false
# Visualizza il menu principale se l'utente preme '1'
Se objshop.Risposta == '1':
Objshop.display_products ()
# Visualizza l'opzione di acquisto se l'utente preme '2'
elif objshop.Risposta == '2':
# Dichiarare oggetto della classe "ordine"
objorder = ordine ()
# Dichiarare il ciclo infinito per visualizzare ripetutamente il secondo menu
# fino a quando l'utente preme '3' o '4'
mentre è vero:
# Prendi il nome del prodotto per aggiungere al carrello se il valore di remove_item è falso
Se remoy_item == false:
Item = Input ("\ ntype Il nome del prodotto:")
se item == 'Nessuno':
# Visualizza il carrello dopo aver aggiunto o rimosso il prodotto
return_val = objorder.display_cart (objshop)
# Termina dal ciclo se il carrello è vuoto
se return_val == 0:
rottura
elif return_val == '1':
Item = Input ("Digita il nome del prodotto:")
# Controllare che il prodotto esista nei prodotti.file txt o no
pro_exist = objshop.check_products (elemento)
# Aggiungi i prodotti nel carrello se il prodotto esiste
se pro_exist == true:
objorder.add_to_cart (elemento)
Rimuovi_item = false
elif return_val == '2':
# Rimuovere il prodotto selezionato dal carrello
return_val = objorder.Rimovi_from_cart (OBJSHOP)
Rimuovi_item = true
elif return_val == '3':
# Prendi le informazioni del cliente
nome = input ("Immettere il tuo nome:")
indirizzo = input ("Immettere il tuo indirizzo:")
contact_no = input ("Immettere il numero di contatto:")
Cash = int (input ("Aggiungi contanti: $"))
# Aggiungi il valore in contanti con il saldo corrente del cliente
Objshop.Cust_Balance = objshop.Cust_Balance + contanti
# Controllare il saldo del cliente è inferiore all'importo del carrello non
Se objshop.Cust_Balance < objShop.cart_amount:
stampa ("Non hai abbastanza equilibrio.")
altro:
# Crea oggetto della classe "cliente"
objcustomer = cliente (nome, indirizzo, contact_no, contanti)
# Stampa le informazioni di acquisto
objcustomer.Acquista_Info (objshop)
# Deduci l'importo dell'acquisto dal saldo del cliente
Objshop.Cust_Balance = contanti - objshop.cart_amount
rottura
altro:
# Messaggio di stampa se il cliente annulla l'acquisto
stampa ("Hai cancellato il tuo acquisto.")
rottura
altro:
# Aggiungi i prodotti nel carrello se il prodotto esiste
pro_exist = objshop.check_products (elemento)
se pro_exist == true:
objorder.add_to_cart (elemento)
Stampa ("Digita" nessuno "per smettere di aggiungere il prodotto")
# Cancella l'elenco dei carrelli dopo l'acquisto o l'annullata
Objshop.cart_items.chiaro()
# Cancella l'importo del carrello dopo l'acquisto o l'annullata
Objshop.cart_amount = 0
# Termina dall'applicazione se gli utenti preme "3"
elif objshop.Risposta == '3':
Stampa ("\ nterminato dall'applicazione.")
Uscita()

Output dell'applicazione

Dopo aver aggiunto tutti gli script in negozio.Py file in serie, è possibile verificare se l'applicazione funziona correttamente o meno. Il modo di utilizzare questa applicazione è stato mostrato in questa parte del tutorial.

Esegui l'applicazione

Inizialmente, l'utente deve aprire il terminale e andare nella posizione in cui il prodotti.TXT E negozio.Py I file si trovano. È necessario archiviare questi file nella stessa posizione per ottenere l'output corretto. Esegui il comando seguente per eseguire l'applicazione:

$ Python3 Shop.Py

Verrà visualizzato il seguente output dopo aver eseguito il comando precedente. Questo è il menu principale di questa applicazione. L'utente può selezionare una delle tre opzioni mostrate nell'output mediante digitazione "1" O "2" O "3". L'elenco dei prodotti verrà visualizzato se i tipi utente, "1". Verrà visualizzato il prompt di input per prendere il nome del prodotto se i tipi dell'utente, "2". L'applicazione verrà chiusa se i tipi dell'utente, "3". Il menu apparirà di nuovo se l'utente digita qualsiasi altro carattere.

Visualizza prodotti

Verrà visualizzato il seguente output se i tipi dell'utente "1". Il contenuto del prodotti.TXT Il file è stato mostrato in questo output. L'utente può selezionare eventuali nomi di torte mostrate nell'output da aggiungere al carrello e l'utente deve selezionare la seconda opzione del menu per eseguire l'attività.

Aggiungi il prodotto nel carrello utilizzando il menu principale

Esistono due modi nell'applicazione per aggiungere il prodotto al carrello. Il primo modo è selezionare la seconda opzione nel menu principale. Verrà visualizzato il seguente output se l'utente digitato "2". L'utente deve digitare il nome di qualsiasi elemento della torta che esiste nel file per aggiungerlo al carrello.

Verrà visualizzato il seguente output se i tipi dell'utente "Torta di fango"Esiste nell'elenco dei prodotti. L'output mostra che il prodotto è stato aggiunto al carrello e l'utente può aggiungere un altro prodotto digitando di nuovo il nome del prodotto. Se l'utente non vuole aggiungere alcun prodotto, deve digitare "nessuno".

Verrà visualizzato il seguente output se un altro prodotto chiamato "Torta al caffè" è aggiunto:

Verrà visualizzato il seguente output se il valore "nessuno"È digitato come valore di input. L'elenco degli elementi del carrello è mostrato nell'output. Sono stati aggiunti due articoli per torte: "Torta di fango" E "Torta al caffè". Il prezzo del "Torta di fango" È $ 35 e il "Torta al caffè" È $ 22. Il prezzo totale delle torte è $ 35+$ 22 = $ 57, mostrato nell'output. Il secondo menu è stato visualizzato dopo aver visualizzato le informazioni del carrello. L'utente può aggiungere prodotti, rimuovere i prodotti, acquistare i prodotti aggiunti al carrello e annullare l'acquisto utilizzando questo menu:

Aggiungi il prodotto nel carrello utilizzando il secondo menu

Verrà visualizzato il seguente output se l'utente digitato "2". L'utente deve digitare il nome di qualsiasi elemento della torta che esiste nel file per aggiungerlo al carrello.

La seguente output apparirà dopo aver digitato "Torta alla vaniglia" come valore di input. L'utente può aggiungere più elementi al carrello digitando di nuovo il nome del prodotto. Se l'utente non vuole aggiungere più prodotti, deve digitare "nessuno" per smettere di aggiungere il prodotto al carrello.

La seguente uscita apparirà dopo la digitazione "nessuno"Come valore di input. L'output mostra che il nuovo prodotto "Torta alla vaniglia"È stato aggiunto al carrello e al prezzo del"Torta alla vaniglia"È stato aggiunto con l'importo del carrello. Quindi, l'importo totale è ora $ 57 + $ 30 = $ 87. Il secondo menu è apparso di nuovo. Lo scopo di questo menu è stato spiegato in precedenza.

Rimuovi il prodotto dal carrello

Verrà visualizzato il seguente output se i tipi dell'utente "2"Come valore di input. L'utente deve digitare il nome di qualsiasi elemento della torta che esiste nel carrello per rimuoverlo dal carrello. Se l'utente digita un valore che non esiste nel carrello, verrà stampato un messaggio di errore.

Verrà visualizzato il seguente output se i tipi dell'utente "Torta al cioccolato"Come valore di input che esiste nei prodotti.file txt ma non esiste nel carrello. Quindi, il messaggio di errore, "Il prodotto non esiste nel carrello.“, È apparso nell'uscita e nessun articolo è stato aggiunto o rimosso dal carrello. Anche il valore dell'importo totale del carrello non è cambiato.

Verrà visualizzato il seguente output se i tipi utente, "Torta al caffè"Come il valore di input che esiste nel carrello. Il messaggio di successo, "il prodotto viene rimosso dal carrello", è stato stampato. L'output mostra anche che "Torta al caffè"È stato rimosso dal carrello e il valore del prezzo di questo articolo è stato detratto dal valore dell'importo del carrello. Il prezzo del "Torta al caffè"È $ 22. Quindi, l'importo totale del carrello è ora $ 87 - $ 22 = $ 65.

Verrà rimossa la seguente uscita se tutti gli elementi del carrello. L'output mostra due messaggi. Uno è rimuovere l'ultimo prodotto e un altro è informare l'utente che il carrello è ora vuoto. Dal momento che non esiste un prodotto nel carrello, il secondo menu è sparito e il menu principale è apparso di nuovo.

Fare un pagamento

La terza opzione del secondo menu viene utilizzata per confermare l'acquisto aggiungendo le informazioni del cliente e il valore dell'importo del carrello. Verrà visualizzato il seguente output se i tipi dell'utente "3" Per selezionare la terza opzione del secondo menu dopo aver aggiunto alcuni elementi di torta al carrello. L'output mostra che due articoli per torta vengono aggiunti al carrello e il prezzo totale delle torte è di $ 60. Il prompt di input per prendere il nome del cliente è apparso dopo aver digitato il valore, "3". Successivamente, altri istruzioni di input sembreranno aggiungere altre informazioni relative al cliente e all'importo in contanti per l'acquisto del prodotto.

Nel seguente output, sono stati aggiunti il ​​nome, l'indirizzo, il numero di telefono del cliente e l'importo in contanti. Ma il valore in contanti aggiunto è inferiore al prezzo totale dei prodotti. L'importo del carrello totale era di $ 60 e $ 45 sono stati aggiunti come valore in contanti. Il messaggio: "Non hai abbastanza equilibrio."È apparso per questo motivo e l'ordine è stato cancellato rendendo il carrello vuoto. Il menu principale è apparso di nuovo.

Verrà visualizzato il seguente output se la contanti aggiunta dall'utente è pari o superiore all'importo totale del carrello. Qui, il prezzo totale del carrello è di $ 35 e l'utente ha aggiunto $ 100 come valore in contanti, che è maggiore del prezzo totale. L'output mostra anche che un numero casuale è stato generato come numero di ordine e la data di sistema corrente è stata stampata come data dell'ordine. Il menu principale è apparso di nuovo per il prossimo acquisto. Il saldo corrente dell'utente è $ 100 - $ 35 = $ 65. Se lo stesso utente acquista nuovamente qualsiasi elemento di torta dal negozio, l'importo dell'acquisto verrà detratto dal saldo corrente dell'utente.

Verrà visualizzato il seguente output se l'utente acquista nuovamente e l'importo dell'acquisto è inferiore al proprio saldo corrente. Secondo l'output, due articoli per torte sono stati aggiunti al carrello e il prezzo totale delle torte è di $ 47. L'utente ha aggiunto $ 0 in contanti, ma il saldo corrente del cliente è di $ 65. Quindi, il pagamento è stato completato con successo e il messaggio "Grazie" è stato stampato. Il saldo corrente dell'utente è $ 65 - $ 47 = $ 18.

Se lo stesso utente aggiunge nuovamente un elemento al carrello e il prezzo totale dell'articolo è inferiore al saldo corrente dell'utente, verrà visualizzato il seguente output. Il saldo corrente dell'utente è di $ 18 dopo l'ultima transazione, ma il prezzo totale del prodotto è di $ 30. Quindi, il messaggio, "Non hai abbastanza equilibrio."È stato stampato e l'ordine è stato annullato rendendo vuoto il carrello.

Verrà visualizzato il seguente output se l'utente aggiunge $ 12 con $ 18 per acquistare il "Torta alla vaniglia"Di $ 30. Il saldo corrente dell'utente è di $ 0 dopo l'acquisto.

Annulla il pagamento

L'utente può annullare l'ordine dopo aver aggiunto gli elementi al carrello selezionando la quarta opzione del secondo menu o rimuovendo tutti gli elementi dal carrello. Verrà visualizzato il seguente output se l'utente seleziona la quarta opzione del secondo menu digitando "4". Il messaggio: "Hai annullato il tuo acquisto."È stato stampato per annullare l'ordine. Il modo per annullare l'ordine rimuovendo tutti gli articoli dal carrello è stato mostrato prima. Il menu principale verrà visualizzato dopo aver annullato l'ordine.

Chiudere l'applicazione

L'applicazione può essere chiusa selezionando la terza opzione nel menu principale. Verrà visualizzato il seguente output se i tipi dell'utente "3" Per chiudere l'applicazione. L'applicazione è stata terminata dal messaggio, "terminato dall'applicazione".

Limitazioni di questa applicazione

In questo tutorial è stato mostrato il modo di implementare un'applicazione basata su testo molto semplice da parte di Python. Ma questa applicazione ha alcune limitazioni, che sono menzionate di seguito:

  • Nessun ordine o le informazioni del cliente sono archiviate in modo permanente. L'applicazione deve tenere i registri delle vendite precedenti. È possibile creare altri due file di testo per archiviare l'ordine e le informazioni sui clienti.
  • Non è mantenuto alcuna registrazione azionaria in questa domanda, che è una parte importante dell'applicazione del negozio. Se un prodotto è esaurito, allora un messaggio dovrebbe essere passato all'utente.
  • Se l'utente aggiunge lo stesso prodotto più volte, ogni prodotto verrà aggiunto separatamente, il che è inefficiente. È essenziale contare il numero di ciascun prodotto nel carrello se lo stesso prodotto viene aggiunto più volte.
  • Non è possibile rimuovere tutti gli elementi dal carrello tramite comando singolo senza annullare l'ordine. L'utente deve rimuovere ogni elemento separatamente per rendere vuoto il carrello.
  • Il saldo rimanente dei clienti non viene visualizzato dopo aver completato il pagamento dell'ordine. Aiuterà l'utente ad aggiungere contanti per il prossimo ordine.

*** I lettori di questo tutorial cercheranno di implementare le funzionalità sopra menzionate per sviluppare le loro capacità di programmazione e rendere l'applicazione più efficiente per l'apprendimento.

Tutorial video su questo argomento

Conclusione

Le linee guida per implementare una semplice applicazione Python basata sul testo sono state fornite in questo tutorial per gli utenti di Python alle prime armi. Le caratteristiche di base dell'applicazione del negozio vengono utilizzate per l'implementazione in questo tutorial, come l'elenco dei prodotti, aggiungere al carrello, rimuovere dal carrello, sistema di pagamento e cancellazione del pagamento. Per semplicità, abbiamo usato il file di testo qui per archiviare i dati in modo permanente. Ma qualsiasi applicazione di database standard, come SQLite e MySQL, può essere utilizzata per gestire i dati dell'applicazione in modo più efficiente.