Python → Processing → Nizovi i liste
Nizovi i liste u Python Processing-u
U prethodnim lekcijama koristili smo pojedinačne promenljive za čuvanje podataka. Međutim, u igrama i animacijama često imamo mnogo objekata – više loptica, neprijatelja, projektila ili boja.
Zato koristimo liste (arrays). Lista omogućava da u jednoj promenljivoj čuvamo više vrednosti.
Šta su liste?
Lista je kolekcija elemenata koji mogu biti:
- brojevi
- tekst (string)
- objekti
- druge liste
Primer definisanja liste:
scores = [0, 0, 0]
colors = ["red", "green", "blue"]
Pristup elementima liste
Elementima pristupamo pomoću indeksa. Indeks u Pythonu počinje od 0.
print(scores[0]) # prvi element
print(colors[2]) # treći element
Ako lista ima 3 elementa, indeksi su:
- 0
- 1
- 2
Dodavanje i uklanjanje elemenata
Liste su dinamičke – možemo dodavati i uklanjati elemente.
scores.append(5) # dodaje novi element na kraj
last_score = scores.pop() # uklanja poslednji element
Najčešće operacije nad listama
- append() – dodaje element
- pop() – uklanja poslednji element
- len() – vraća broj elemenata
Prolazak kroz listu (for petlja)
Najčešći način rada sa listama je korišćenje for petlje.
for color in colors:
print(color)
Rezultat:
- red
- green
- blue
Liste u Processing animacijama
U Processing projektima liste su veoma korisne kada želimo da pratimo više objekata istovremeno.
Na primer, možemo napraviti listu loptica.
balls = []
for i in range(5):
balls.append(Ball())
Sada možemo animirati sve loptice u draw() funkciji:
for ball in balls:
ball.move()
ball.show()
Mali primer: više krugova na ekranu
Sledeći primer koristi listu koordinata za crtanje više krugova:
circles = [100, 200, 300, 400]
def setup():
size(600,400)
def draw():
background(240)
for x in circles:
ellipse(x,200,40,40)
Ovaj program crta više krugova koristeći samo jednu listu.
Povezivanje sa prethodnim lekcijama
- Animacija i promenljive — liste se često koriste u draw() petlji
- Interakcija sa tastaturom i mišem — možemo čuvati više stanja u listama
- Mini projekat: Pong — score sistem može koristiti listu
Mini projekat: više krugova pomoću liste
Napravimo mali interaktivni primer gde lista čuva pozicije krugova. Svaki klik miša dodaje novi krug na ekran.
circles = []
def setup():
size(600,400)
def draw():
background(240)
for c in circles:
ellipse(c[0], c[1], 40, 40)
def mousePressed():
circles.append([mouseX, mouseY])
Kako radi ovaj program?
- lista circles čuva pozicije krugova
- svaki element liste ima oblik [x, y]
- klik miša dodaje novi element u listu
- draw() petlja iscrtava sve krugove
Na ovaj način možemo napraviti neograničen broj objekata u programu.
Zadaci za vežbu
- Kreirajte listu boja i iscrtajte kvadrate u tim bojama
- Kreirajte više loptica koristeći listu objekata
- Dodajte novu lopticu klikom miša
- Napravite listu pozicija i nacrtajte krug na svakoj poziciji
Šta smo naučili?
- šta su liste u Pythonu
- kako pristupiti elementima liste
- kako dodavati i uklanjati elemente
- kako koristiti liste u Processing animacijama
Često postavljana pitanja
Šta su liste u Pythonu?
Lista je struktura podataka koja omogućava čuvanje više vrednosti u jednoj promenljivoj. Elementi liste mogu biti brojevi, tekst ili objekti.
Koja je razlika između promenljive i liste?
Promenljiva čuva jednu vrednost, dok lista može sadržati više vrednosti koje se pristupaju pomoću indeksa.
Zašto su liste važne u igrama i animacijama?
Liste omogućavaju upravljanje velikim brojem objekata poput neprijatelja, projektila ili loptica u animaciji.
Da li liste mogu sadržati objekte?
Da. U Pythonu lista može sadržati bilo koji tip podataka, uključujući i objekte definisane klasama.