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 💪

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *