Uvod u programiranje

8. čas

Da ponovimo

  • Domaći / pitanja
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