+
+ Uvod u programiranje
+ 8. čas
+
+
+
+ Rečnici (dictionaries)
+
+ - Dictionary je novi tip podataka
+ - Kolekcija neuređenih parova
ključ -> vrednost
+
+
+ recnik = dict()
+ drugi_recnik = {} # moze i ovako
+
+
+ ili sa početnim vrednostima:
+
+
+ recnik = {
+ "foo": "bar",
+ "kljuc": "vrednost"
+ }
+
+
+
+
+
+ Primeri
+
+
+ ocene = {
+ "srpski": 5,
+ "matematika": 4,
+ "likovno": 3
+ }
+
+
+
+
+
+ Primeri
+
+
+ covek = {
+ "ime": "Petar",
+ "prezime": "Petrovic",
+ "zanimanje": "Moler",
+ "godiste": 1950,
+ "imena dece": ["Mika", "Zika"],
+ "adresa": {
+ "grad": "Beograd",
+ "ulica": "Stolarska"
+ "broj": 35
+ }
+ }
+
+
+ Ključ je uvek string, a vrednost može biti bilo koji tip iz Pythona!
+
+
+
+ Veličina dictionary-ja
+
+ - Funkcija len(), isto kao kod liste
+
+
+ print('broj ocena', len(ocene))
+
+
+
+
+
+ Pristupanje elementima
+
+ - Mora da se zna "ključ" elementa kome se pristupa
+ - Vrednosti se pristupa sa uglastim zagradama
+
+
+ # dodeljuje vrednost 5 promenljivoj
+ ocena_srpski = ocene["srpski"]
+ # ispisuje 5
+ print(ocene["srpski"])
+ # dictionary unutar dictionaryja!
+ print(covek["adresa"]["grad"]
+ # program se raspada ako kljuc ne postoji!
+ print(covek["nepostojeci_kljuc"])
+
+
+
+
+
+ Kako proveriti postojanje elementa
+
+ - U većini slučajeva ne želimo da oborimo ceo program ako ključ ne postoji
+ - Rezervisana reč "in", isto kao kod listi
+
+
+ ima_srpski = "srpski" in ocene
+
+
+
+
+ if "srpski" in ocene:
+ print('srpski ocena:', ocene["srpski"])
+
+
+
+
+
+ Dodavanje elemenata u listu
+
+ - Kao dodeljivanje promenljive, samo sa uglastim zagradama
+
+
+ ocene["fizicko"] = 5
+ # postojeca vrednost isto ovako moze da se promeni
+ ocene["srpski"] = 1
+
+
+
+
+
+ Iteriranje kroz dictionary
+
+ - Nekad ne znamo ključeve, samo želimo da obiđemo ceo dictionary
+
+
+ prosek = 0
+ for predmet in ocene:
+ print("predmet", predmet, ", ocena", ocene[predmet])
+ ocena = ocene[predmet]
+ prosek = prosek + ocena
+ prosek = prosek / len(ocene)
+
+
+
+
+
+ Domaći
+
+ -
+ Pitati korisnika da unese broj predmeta i pitati ga u while petlji da unese sve predmete u dictionary i onda izračunati prosek
+
+
+
+