python-radionica/Cas8/recnici.py

104 lines
3.0 KiB
Python
Raw Permalink Normal View History

2023-05-01 13:30:56 +00:00
# primer u kome predstavljamo recnike i radimo poredjenje izmedju recnika i nizova
# u vecini slucajeva, sintaksa za rad sa nizovima i recnicima je ista
niz = [1,2,3,4,5]
if 6 in niz: # pomocu `in` kljucne reci, mozemo proveriti da li je neka vrednost clan niza
print("6 je u nizu")
else:
print("6 nije u nizu")
ocene = { # za razliku od nizova, koje definisemo koriscenjem [] zagrada, za recnike koristimo {}
"srpski": 5,
"engleski": 2,
"matematika": 4,
"matematika": 5
}
print(ocene["srpski"]) # sintaksa za pristupanje elementima recnika je nalik na onu za pristupanje
# clanovima niza, samo sto u ovom slucaju umesto indeksa (tj. broja),
# koristimo kljuceve
print("ocena iz engleskog",ocene["engleski"]) # 2
ocene["engleski"] = 4 # za razliku od nizova kod kojis smo morali da koristimo append metodu, za
# dodavanje elemenata u recnik koristimo istu sintaksu kao i za pristupanje
# elementima
print("ocena iz engleskog",ocene["engleski"]) # 4
if "fizicko" in ocene: # kao sto primecujete, sintaksa za proveravanje da li je neka vrednost clan
# recnika, je potpuno ista kao i za proveravanje da li je neka vrednost clan
# niza
print("ocena iz fizickog",ocene["fizicko"])
else:
print("nema ocene iz fizickog")
print(ocene)
del ocene["engleski"] # mozemo da uklonima neki par (kljuc, vrenost) iz recnika (kao i sa nizovima)
print(ocene)
# malo ozbiljniji primer u kojem su kljucevi recnika imena (tipa string), a vrednosti drugi recnici
# koji predstavljaju neke ljude (ime, prezime, zanimanje, godiste, itd.)
petar = {
"ime": "Petar",
"prezime": "Petrovic",
"zanimanje": "Moler",
"godiste": 1950,
"imena dece": ["Mika", "Zika"],
"adresa": {
"grad": "Beograd",
"ulica": "Stolarska",
"broj": 35
}
}
marko = {
"ime": "Marko",
"prezime": "Markovic",
"zanimanje": "Zidar",
"godiste": 1990,
"imena dece": ["Iva", "Ana"],
"adresa": {
"grad": "Beograd",
"ulica": "Zidarska",
"broj": 13
}
}
adresar = { # mogli smo da ne pravimo posebne promenljive za ljude, vec da inicijalizujemo sve unutar
# recnika direktno, a mozemo i da za neke ljude koristimo vec definisane promenljive a za
# druge da ih definisemo direktno unutar recnika
"Petar Petrovic": petar,
"Marko Markovic": marko,
"Ivan Ivanovic": {
"ime": "Ivan",
"prezime": "Ivanovic",
"zanimanje": "TV voditelj",
"godiste": 1975,
"imena dece": [],
"adresa": {
"grad": "Beograd",
"ulica": "Knjeginje Zorke",
"broj": 25
}
},
}
print("Marko Markovic zivi u ulici: ",adresar["Marko Markovic"]["adresa"]["ulica"])
stevan = {
"ime": "Stevan",
"prezime": "Markovic",
"zanimanje": "Fotograf",
"godiste": 1970,
"imena dece": ["Iva", "Ana"],
"adresa": {
"grad": "Novi Sad",
"ulica": "Zidarska",
"broj": 13
}
}
adresar["Stevan Markovic"] = stevan # naravno mozemo dodati novu osobu u adresar (recnik)