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 💪
