Niektóre powiązane klasy Pythona zostały użyte do opracowania „aplikacji do sklepu z ciastami” tutaj.
Funkcje projektu
Wymagania wstępne
Wdrożenie „Aplikacji do sklepu z ciastami”
Do wdrożenia funkcjonalności tej aplikacji zostaną wykorzystane trzy klasy. To są "sklep”,„zamówienie", I "klient". „„sklep„Klasa to klasa nadrzędna, która zostanie użyta do wyświetlania menu głównego aplikacji, wyświetlania listy ciastek sklepu i sprawdzenia, czy ciasto wybrane przez użytkownika istnieje w sklepie. „„zamówienie„Klasa to klasa dziecięca, która zostanie utworzona przez dziedziczenie po„sklep”Klasa i zostanie użyta do dodawania elementów ciasta do koszyka, usuwania ciasta z wózka i wyświetlania wybranych elementów wózka. „„klient„Klasa to kolejna klasa dziecięca, która zostanie utworzona przez dziedziczenie po„zamówienie”Klasa i zostanie wykorzystana do wyświetlania szczegółów zakupu z informacjami o kliencie. Poniższy schemat pokazuje, jak będzie działać ta prosta aplikacja:
Przechowuj informacje o produkcie
Każda popularna aplikacja serwera bazy danych można dołączyć do aplikacji Python do przechowywania danych. Jednak w tej aplikacji nie użyto żadnego serwera bazy danych, aby uprościć, a do przechowywania danych użyto pliku tekstowego. Utwórz plik tekstowy o nazwie produkty.tekst i dodaj następujące informacje o produkcie do pliku przed rozpoczęciem następnej części tej aplikacji. Użytkownik wybierze element ciasta w tym pliku, aby dodać do koszyka w celu zakupu. Każde pole jest oddzielone przecinkiem tutaj:
produkty.tekst
Identyfikator, nazwa, cena, data uczynienia, data wygaśnięciaZaimportuj niezbędne moduły
W tej aplikacji użyto trzech modułów do generowania liczby losowej, odczytania bieżącej daty i utworzenia kolorowego tekstu w terminalu. Utwórz plik Python o nazwie sklep.py i dodaj następujący skrypt na początku pliku, aby zaimportować moduły. losowy Moduł wygeneruje numer zamówienia. data Moduł odczytuje bieżącą datę systemu. I kolorowy Moduł wygeneruje kolorowy tekst.
#Wymagane moduły dla projektu sklepuUtwórz klasę „sklepu”
Po zaimportowaniu niezbędnych modułów dodaj skrypt, aby zdefiniować „sklep”Klasa do sklep.py plik. Jest to klasa podstawowa tej aplikacji, która zawiera cztery zmienne klasy i trzy metody. Cel tych zmiennych i metody są wymienione poniżej.
Zmienne
CART_ITEMS:
Jest to zmienna listy i zostanie użyta do przechowywania elementu ciasta dodanego przez użytkownika. Nowy element zostanie dołączony do listy, gdy zostanie wybrany nowy element ciasta do dodania do koszyka, a istniejący element zostanie usunięty, jeśli użytkownik wybierze element ciasta do usunięcia z koszyka. Ta zmienna zostanie wyczyszczona po zakończeniu zakupu lub anulowaniu zakupu.
cart_amount:
Jest to zmienna liczb całkowita i zostanie użyta do przechowywania suma ceny produktu dodanej do koszyka. Wartość tej zmiennej zostanie zwiększona, gdy nowy element ciasta zostanie dodany do koszyka, a wartość tej zmiennej zostanie zmniejszona, gdy element ciasta zostanie usunięty z wózka. Ta zmienna zostanie zainicjowana do 0 po zakończeniu lub anulowaniu zakupu.
Cust_Balance:
Jest to zmienna liczb całkowita i będzie używana do przechowywania wartości gotówkowej dodanej przez klienta. Wartość tej zmiennej zostanie zwiększona, gdy użytkownik doda wartość gotówką, a wartość tej zmiennej zostanie zmniejszona po zakończeniu zadania zakupu.
odpowiedź:
Jest to zmienna ciągów i zostanie użyta do przyjmowania wartości wejściowej użytkownika do wykonania konkretnego zadania.
Metody
display_menu ():
Ta metoda została zdefiniowana, aby pokazać listę menu aplikacji. Jeśli użytkownicy typu „1”, Potem treść produkty.tekst Plik zostanie wyświetlony. Jeśli użytkownicy typu „2”, Wtedy pojawi się monit wejściowy do przyjęcia nazwy produktu. Jeśli nazwa produktu podana przez użytkownika istnieje w pliku, nazwa produktu zostanie dodana do cart_items lista, a cena produktu zostanie dodana z cart_amount. Jeśli użytkownicy typu „3”, Wówczas aplikacja zostanie zakończona. Funkcja FG () została użyta w metodzie do drukowania kolorowego tekstu w terminalu.
display_products ():
Ta metoda została zdefiniowana w celu odczytania produkty.tekst Linia plików po linii, podziel każdą linię na podstawie przecinka za pomocą funkcji split () i przechowuj ją w zmiennej listy. Następnie zmienna listy zostanie iterowana przy użyciu pętli do wydrukowania zawartości pliku w formacie czytelnym człowieka.
Check_Products ():
Ta metoda została zdefiniowana, aby sprawdzić, czy nazwa produktu pobrana od użytkownika istnieje w produkty.tekst plik. Jeśli nazwa produktu istnieje w pliku, cena tego konkretnego produktu zostanie dodana o wartości cart_amount zmienna i prawda Wartość zostanie zwrócona z funkcji. Wiadomość, "Produkt nie istnieje.”Zostanie wydrukowane, jeśli nazwa produktu nie istnieje w pliku, a FAŁSZ Wartość zostanie zwrócona z funkcji. Ta metoda będzie wywoływana za każdym razem, gdy nazwa produktu jest pobierana od użytkownika do dodania do koszyka.
Skrypt „sklep„Klasa znajduje się poniżej:
"Utwórz klasę „zamów”
Po dodaniu „sklep„Klasa, dodaj skrypt, aby zdefiniować„zamówienie”Klasa do sklep.py plik. To klasa dzieci odziedziczona po „sklep„Klasa zawierająca trzy metody. Cel tych metod jest wspomniany poniżej.
Metody
Dodaj do koszyka():
Ta metoda została zdefiniowana, aby dodać nazwę produktu do cart_items Lista, jeśli produkt istnieje w produkty.tekst Złóż i wydrukuj wiadomość po dodaniu produktu do koszyka. Ta metoda zostanie wywołana, gdy użytkownik wybierze drugą opcję („Wybierz produkt…”) menu głównego, wpisując „2” lub pierwszą opcję drugiego menu („Dodaj produkt”), wpisując „1”.
usuń_from_cart ():
Ta metoda została zdefiniowana w celu usunięcia produktu z cart_items Lista, jeśli nazwa produktu pobrana od użytkownika istnieje w cart_items. Ta metoda zostanie wywołana, gdy użytkownik wybierze drugą opcję drugiego menu („Usuń produkt”), wpisując „2”. Po usunięciu produktu cena usuniętego produktu zostanie odjęta od cart_amount zmienny. "Produkt nie istnieje w koszyku.„Wiadomość zostanie wydrukowana, jeśli nazwa produktu pobrana od użytkownika nie istnieje w cart_items lista.
display_cart ():
Ta metoda została zdefiniowana w celu wyświetlania zawartości cart_items lista, wartość cart_amount, oraz drugie elementy menu, aby dodać produkt lub usunąć produkt lub potwierdzić płatność lub anulować zakup. Jeśli cart_items Lista jest pusta, a potem wiadomość „Twój koszyk jest pusty." zostanie wyświetlone. Ta metoda zostanie wywołana, gdy zadanie dodania produktu lub usunięcia produktu zostanie zakończone. Ta metoda zwróci wartości listy CART_ITEMS, jeśli koszyk nie jest pusty lub zwróci 0, jeśli wózek jest pusty.
Skrypt „zamówienie„Klasa znajduje się poniżej:
"Utwórz klasę „klienta”
Po dodaniu „zamówienie„Klasa, dodaj skrypt, aby zdefiniować„klient”Klasa do sklep.py plik. To kolejna klasa dzieci odziedziczona po „zamówienie„Klasa zawierająca metodę konstruktora i metodę zdefiniowaną przez użytkownika. Cel tych metod jest wspomniany poniżej.
Metody:
Metoda konstruktora
Metoda konstruktora jest zdefiniowana przez __init __ (). Załóżmy, że użytkownik wybiera trzecią opcję drugiego menu („Potwierdź płatność”). W takim przypadku konstruktor „klient„Zostanie wezwana klasa w celu zainicjowania informacji o kliencie w momencie tworzenia obiektów„klient„Klasa i konkuruj o zadanie zakupu. Ta metoda przyjmie cztery argumenty. To są nazwa, adres, telefon i gotówka.
zakup_info ():
Ta metoda została zdefiniowana w celu wyświetlenia szczegółów zakupu zawierających numer zamówienia, datę zamówienia, nazwę klienta, adres klienta, telefon klienta, listę zakupionych produktów i całkowitą cenę wszystkich zakupionych produktów. Tutaj numer zamówienia zostanie wygenerowany za pomocą funkcji Random (). Ta metoda zostanie wywołana, jeśli wartość gotówkowa dodana przez użytkownika jest więcej lub równa wartości cart_amount zmienny.
Skrypt „klient„Klasa znajduje się poniżej:
"Utwórz obiekty
Po zdefiniowaniu niezbędnych klas aplikacji, dodaj skrypt, aby utworzyć obiekty do używania zmiennych klasowych i wywołać metody, aby zakończyć implementację „Aplikacji do sklepu z ciastami”. Początkowo obiekt „sklep„Klasa zostanie zdefiniowana, a display_menu () Metoda zostanie wywołana za pomocą tego obiektu do wyświetlania menu głównego. W skrypcie pierwsza nieskończona pętla została użyta do wyświetlania menu głównego na początku aplikacji i po potwierdzeniu lub anulowaniu zakupu. Ta pętla zostanie zakończona, a aplikacja zostanie zamknięta, gdy użytkownik wybierze trzecią opcję („wyjście”) menu głównego. Druga nieskończona pętla została wykorzystana do dodawania produktów do koszyka, dopóki użytkownicy wpisują „nic" i wyświetla drugie menu po dodaniu lub usunięciu produktu do koszyka. Ta pętla zostanie zakończona, jeśli użytkownik wybierze trzecią (potwierdź płatność ”) lub czwartą („ Anuluj ”) drugiego menu. Załóżmy, że użytkownik wybiera trzecią opcję drugiego menu, a kwota gotówki dodana przez użytkownika jest mniejsza niż cart_amount wartość. Wtedy drugie menu pojawi się ponownie, wyświetlając wiadomość: „Nie masz wystarczającej równowagi.". Obydwa cart_items I cart_amount Wartości zostaną usunięte po zakończeniu drugiej nieskończonej pętli, aby dokonać następnego zakupu. Skrypt tej części znajduje się poniżej:
# Deklaruj obiekt klasy „sklep”Wyjście aplikacji
Po dodaniu wszystkich skryptów do sklep.py plik seryjnie, możesz sprawdzić, czy aplikacja działa poprawnie, czy nie. Sposób użycia tej aplikacji został pokazany w tej części samouczka.
Uruchom aplikację
Początkowo użytkownik musi otworzyć terminal i przejść do miejsca, w którym produkty.tekst I sklep.py Pliki są zlokalizowane. Musisz przechowywać te pliki w tej samej lokalizacji, aby poprawnie uzyskać wyjście. Uruchom następujące polecenie, aby wykonać aplikację:
$ Python3 Shop.pyNastępujące dane wyjściowe pojawią się po wykonaniu poprzedniego polecenia. To jest główne menu tej aplikacji. Użytkownik może wybrać dowolną z trzech opcji pokazanych na wyjściu, wpisując „1” Lub „2” Lub „3”. Lista produktów zostanie wyświetlona, jeśli typy użytkowników, „1”. Pojawia się monit wejściowy do przyjęcia nazwy produktu, jeśli typy użytkowników, „2”. Aplikacja zostanie zamknięta, jeśli typy użytkowników, „3”. Menu pojawi się ponownie, jeśli użytkownik wpisuje jakikolwiek inny znak.
Wyświetl produkty
Następujące dane wyjściowe pojawią się, jeśli typy użytkowników „1”. Treść produkty.tekst Plik został pokazany na tym wyjściu. Użytkownik może wybrać dowolne nazwy ciasta pokazanych na wyjściu, aby dodać do koszyka, a użytkownik musi wybrać drugą opcję menu, aby wykonać zadanie.
Dodaj produkt do koszyka za pomocą menu głównego
W aplikacji istnieją dwa sposoby dodania produktu do koszyka. Pierwszym sposobem jest wybranie drugiej opcji w menu głównym. Pojawi się następujące dane wyjściowe, jeśli użytkownik wpisuje „2”. Użytkownik musi wpisać nazwę dowolnego elementu ciasta, który istnieje w pliku, aby dodać go do koszyka.
Następujące dane wyjściowe pojawią się, jeśli typy użytkowników „Błotny tort„Istnieje na liście produktów. Wyjście pokazuje, że produkt został dodany do koszyka, a użytkownik może dodać inny produkt, ponownie wpisując nazwę produktu. Jeśli użytkownik nie chce dodawać żadnego produktu, musi wpisać „nic".
Następujące dane wyjściowe pojawią się, jeśli inny produkt o nazwie „Ciasto kawowe" jest dodany:
Następujące dane wyjściowe pojawią się, jeśli wartość „nic”Jest wpisany jako wartość wejściowa. Lista elementów wózka jest pokazana na wyjściu. Dodano dwa przedmioty ciasta: „Błotny tort" I "Ciasto kawowe". Cena „Błotny tort" Jest 35 USD i „Ciasto kawowe" Jest 22 USD. Całkowita cena ciast wynosi 35 USD+22 USD = 57 USD, pokazane na wyjściu. Drugie menu zostało wyświetlone po wyświetleniu informacji o koszyku. Użytkownik może dodawać produkty, usuwać produkty, kupować produkty dodane do koszyka i anulować zakup za pomocą tego menu:
Dodaj produkt do koszyka za pomocą drugiego menu
Pojawi się następujące dane wyjściowe, jeśli użytkownik wpisuje „2”. Użytkownik musi wpisać nazwę dowolnego elementu ciasta, który istnieje w pliku, aby dodać go do koszyka.
Następujące wyjście pojawią się po wpisaniu „ciasta waniliowego” jako wartości wejściowej. Użytkownik może dodać więcej elementów do koszyka, ponownie wpisując nazwę produktu. Jeśli użytkownik nie chce dodawać więcej produktów, musi wpisać „Brak”, aby przestać dodawać produkt do koszyka.
Następujące wyjście pojawią się po wpisaniu „nic”Jako wartość wejściowa. Wyjście pokazuje, że nowy produkt „Ciasto waniliowe”Został dodany do wózka i ceny„Ciasto waniliowe”Został dodany z kwotą koszyka. Tak więc całkowita kwota wynosi teraz 57 USD + 30 USD = 87 USD. Drugie menu pojawiło się ponownie. Cel tego menu został wcześniej wyjaśniony.
Usuń produkt z wózka
Następujące dane wyjściowe pojawią się, jeśli typy użytkowników „2”Jako wartość wejściowa. Użytkownik musi wpisać nazwę dowolnego elementu ciasta, który istnieje w koszyku, aby usunąć go z koszyka. Jeśli użytkownik wpisuje jakąkolwiek wartość, która nie istnieje w koszyku, zostanie wydrukowany komunikat o błędzie.
Następujące dane wyjściowe pojawią się, jeśli typy użytkowników „Ciasto czekoladowe„Jako wartość wejściowa, która istnieje w produktach.plik txt, ale nie istnieje w koszyku. Tak więc komunikat o błędzie „Produkt nie istnieje w koszyku.„Pojawił się na wyjściu i żaden element nie został dodany ani usunięty z wózka. Całkowita wartość kwoty wózka również się nie zmieniła.
Następujące dane wyjściowe pojawią się, jeśli użytkownicy wpisuje się ”,„Ciasto kawowe”Jako wartość wejściowa, która istnieje w koszyku. Komunikat o sukcesie „Produkt jest usuwany z wózka”, został wydrukowany. Wyjście pokazuje również „Ciasto kawowe”Został usunięty z wózka, a wartość cenowa tego przedmiotu została odjęta od wartości kwoty wózka. Cena „Ciasto kawowe”To 22 USD. Tak więc całkowita kwota wózka wynosi teraz 87 - 22 USD = 65 USD.
Następujące dane wyjściowe pojawią się, jeśli wszystkie elementy z koszyka zostaną usunięte. Wyjście pokazuje dwie wiadomości. Jednym z nich jest usunięcie ostatniego produktu, a drugim jest poinformowanie użytkownika, że wózek jest teraz pusty. Ponieważ w koszyku nie ma produktu, drugie menu zniknęło, a menu główne pojawiło się ponownie.
Dokonać płatności
Trzecia opcja drugiego menu jest używana do potwierdzenia zakupu poprzez dodanie informacji klienta i wartości wózka. Następujące dane wyjściowe pojawią się, jeśli typy użytkowników „3” Aby wybrać trzecią opcję drugiego menu po dodaniu niektórych elementów ciasta do koszyka. Wyjście pokazuje, że do koszyka dodawane są dwa elementy ciasta, a całkowita cena ciast wynosi 60 USD. Pojawiła się monit wejściowy do przyjęcia nazwy klienta po wpisaniu wartości, „3”. Następnie wydają się inne podpowiedzi wejściowe dodawania innych informacji związanych z klientem i kwotą gotówki na zakup produktu.
W poniższym wyjściu dodano nazwę, adres, numer telefonu, numer telefonu i kwotę gotówką. Ale dodana wartość gotówkowa jest niższa niż całkowita cena produktów. Całkowita kwota wózka wyniosła 60 USD, a 45 USD dodano jako wartość gotówkową. Wiadomość: „Nie masz wystarczającej równowagi.”Pojawił się z tego powodu, a zamówienie zostało anulowane, sprawiając, że wózek jest pusty. Menu główne pojawiło się ponownie.
Następujące dane wyjściowe pojawią się, jeśli gotówka dodana przez użytkownika jest równa lub więcej niż całkowita kwota wózka. Tutaj całkowita cena koszyka wynosi 35 USD, a użytkownik dodał 100 USD jako wartość gotówką, która jest większa niż całkowita cena. Wyjście pokazuje również, że liczba losowa została wygenerowana jako numer zamówienia, a bieżąca data systemu została wydrukowana jako data zamówienia. Menu główne pojawiło się ponownie do następnego zakupu. Obecne saldo użytkownika wynosi 100 - 35 USD = 65 USD. Jeśli ten sam użytkownik ponownie kupi jakikolwiek element ciasta w sklepie, kwota zakupu zostanie odjęta od bieżącego salda użytkownika.
Następujące dane wyjściowe pojawią się, jeśli użytkownik kupi ponownie, a kwota zakupu jest mniejsza niż ich bieżące saldo. Zgodnie z wynikami do koszyka dodano dwa elementy ciasta, a całkowita cena ciast wynosi 47 USD. Użytkownik dodał 0 USD, ale bieżące saldo klienta wynosi 65 USD. Tak więc płatność została pomyślnie zakończona, a wiadomość „podziękowania” została wydrukowana. Obecne saldo użytkownika wynosi 65 - 47 USD = 18 USD.
Jeśli ten sam użytkownik ponownie doda element do koszyka, a całkowita cena elementu jest mniejsza niż bieżące saldo użytkownika, pojawi się następujące dane wyjściowe. Obecne saldo użytkownika wynosi 18 USD po ostatniej transakcji, ale całkowita cena produktu wynosi 30 USD. Tak więc wiadomość: „Nie masz wystarczającej równowagi.”Został wydrukowany, a zamówienie zostało anulowane, sprawiając, że wózek jest pusty.
Następujące dane wyjściowe pojawią się, jeśli użytkownik doda 12 USD z 18 USD na zakup „Ciasto waniliowe”Z 30 USD. Obecne saldo użytkownika wynosi 0 USD po zakupie.
Anuluj płatność
Użytkownik może anulować zamówienie po dodaniu elementów do koszyka, wybierając czwartą opcję drugiego menu lub usuwając wszystkie elementy z koszyka. Pojawi się następujące dane wyjściowe, jeśli użytkownik wybierze czwartą opcję drugiego menu, wpisując „4”. Wiadomość: „Anulowałeś swój zakup.”Został wydrukowany do anulowania zamówienia. Sposób na anulowanie zamówienia poprzez usunięcie wszystkich elementów z koszyka, został wcześniej pokazany. Menu główne zostanie ukazane po anulowaniu zamówienia.
Zamknij aplikację
Aplikację można zamknąć, wybierając trzecią opcję w menu głównym. Następujące dane wyjściowe pojawią się, jeśli typy użytkowników „3” Aby zamknąć aplikację. Aplikacja została rozwiązana przez wiadomość „zakończoną z aplikacji”.
Ograniczenia tej aplikacji
W tym samouczku pokazano sposób wdrożenia bardzo prostej aplikacji tekstowej przez klasy Pythona. Ale ta aplikacja ma pewne ograniczenia, które zostały wymienione poniżej:
*** Czytelnicy tego samouczka spróbują wdrożyć wymienione powyżej funkcje, aby rozwinąć swoje umiejętności programowania i zwiększyć wydajność aplikacji do nauki.
Samouczek wideo na ten temat
Wniosek
Wytyczne dotyczące wdrożenia prostej aplikacji Python zostały przedstawione w tym samouczku dla początkujących użytkowników Pythona. Podstawowe funkcje aplikacji sklepowej są używane do wdrożenia w tym samouczku, takie jak lista produktów, dodaj do koszyka, usuń z wózka, system płatności i anulowanie płatności. Dla uproszczenia użyliśmy pliku tekstowego tutaj do przechowywania danych na stałe. Ale każda standardowa aplikacja do bazy danych, taka jak SQLite i MySQL, może być używana do bardziej wydajnego zarządzania danymi aplikacji.