Projekt rozgrzewkowy
W poprzedniej sekcji Debug od kompletnych podstaw poznaliśmy podstawy debugowania i utworzyliśmy bardzo prosty projekt.
Na potrzeby obecnej sekcji możesz śmiało stworzyć nowy projekt (opisujemy to dokładnie w poprzedniej części Projekt do testów debugowania). Możesz również korzystać z projektu z poprzedniej sekcji.
Będziemy w kolejnych lekcjach dodawać nowe, niezależne skrypty, które nie będą kolidować z zakodzonymi wcześniej mini-programami.
Jeśli nie przerobiłeś pierwszej sekcji o kompletnych podstawach pracy z debuggerem, to gorąco do tego zachęcamy. Obecna sekcja będzie rozwinięciem poznanych technik debugowania.
Skrypt na którym bazujemy
Nasz nowy skrypt będzie mocno wzorowany na mini-programie z poprzedniej sekcji (był to plik cats_main.py). Przypomnijmy jego kod:
# Cats inventory advanced manager print("Starting program") print("Preparing data") cat1 = "Kitty" cat2 = "Pussy" cat3 = "Paw" print("Initialising cats list") cats = [] print(f'cats list contains: {cats}') print("Adding cats to list") cats.append(cat1) print(f'cats list contains: {cats}') cats.append(cat2) print(f'cats list contains: {cats}') cats.append(cat3) print(f'cats list contains: {cats}') print("Returning list") print(cats)
Omówmy krótko ten niewielki skrypt.
Na początku utworzyliśmy zmienne (cat1, cat2, cat3
) zawierające imiona kotów oraz pustą listę cats = []
. Następnie dodaliśmy imiona kotów do listy (cats.append()
). Na koniec wypisaliśmy zawartość listy na konsolę (print(cats)
).
Ten zaawansowany program do inwentaryzacji kotów był bardzo przydatny do pierwszych kroków z debugowaniem. Teraz przyszedł czas, aby go odrobinę skomplikować za pomocą instrukcji warunkowych, takich jak if
czy for
. Dzięki nim debugowanie stanie się jeszcze ciekawsze.
Nowy skrypt – pętla for
Zbieramy się do pracy. Potrzebny będzie nam do tego plik i kod!
W głównym katalogu projektu stwórz nowy plik o nazwie: cats_for.py. Wklej do niego wspomniany w poprzednim akapicie kod.
Aby łatwiej skupić się na najważniejszych rzeczach, odrobinę uprościmy nasz skrypt.
Tę część:
print("Initialising cats list") cats = [] print(f'cats list contains: {cats}') print("Adding cats to list") cats.append(cat1) print(f'cats list contains: {cats}') cats.append(cat2) print(f'cats list contains: {cats}') cats.append(cat3) print(f'cats list contains: {cats}') print("Returning list") print(cats)
Upraszczamy do takiego kodu:
print("Initialising cats list") cats = [cat1, cat2, cat3]
Następnie dodamy w kodzie konstrukcję do przechodzenia po elementach listy czyli for
. Na samym końcu skryptu umieszczamy taki kod:
print("Returning cats") for cat in cats: print(f"Found cat: {cat}")
Ta prosta pętla for
wypisze nam elementy listy cats
.
Dodatkowo w pierwszej linii z komentarzem wprowadzamy drobną modyfikację. Wiadomo dokumentacja przede wszystkim:
# Cats inventory advanced manager v2 (with for)
Cały kod:
# Cats inventory advanced manager v2 (with for) print("Starting program") print("Preparing data") cat1 = "Kitty" cat2 = "Pussy" cat3 = "Paw" print("Initialising cats list") cats = [cat1, cat2, cat3] print("Returning cats") for cat in cats: print(f"Found cat: {cat}")
Sprawdzamy nasz program
Uruchom program z naszego pliku cats_for.py, aby zobaczyć czy otrzymasz pozytywny wynik (najszybciej to zrobisz klikając prawym klawiszem myszki w oknie edycji kodu i wybierając opcję Run).
Poniżej znajdziesz przykład tego co powinieneś zobaczyć w konsoli uruchomieniowej:
Starting program Preparing data Initialising cats list Returning cats Found cat: Kitty Found cat: Pussy Found cat: Paw Process finished with exit code 0
Jesteśmy gotowi na Debug 💪