Forum » Programiranje » [Python] Help
[Python] Help

Stewie ::
Živjo!
Torej kot že v naslovu omenjeno rabim pomoč pri Pythonu. Prvo nalogo mi je uspelo spacat skupaj glede na to da so bolj kot ne osnove ampak pri 2 se pa ustavi (ne znam se je lotit)
Zaradi preprostosti je vsak par naveden le enkrat po abecednem vrstnem redu -> ("Ana", "Berta") in ne tudi ("Berta", "Ana")
Druga predstavitev je s slovarjem, katerega ključi so imena, pripadajoče vrednosti pa množice znancev.
Naloga
po_znancih(mreza) vrne slovar, katerega ključi so števila od 1 do len(mreza) - 1, pripadajoče vrednosti pa množice oseb, ki imajo toliko znancev. Za malo mrežo mora funkcija vrniti {1: {"D"}, 2: {"A", "B"}, 3: {"C"}}.
priporocila(mreza) vrne množico parov, ki se med seboj ne poznajo, vendar imajo vsaj enega skupnega znanca. Par naj bo urejen po abecedi (prvi element naj bo po abecedi pred drugim).
klika(mreza, imena) vrne True, če se vse osebe iz podane množice imen poznajo med seboj.
najvec_skupnih(mreza) naj vrne imeni oseb, ki imata največ skupnih znancev. (Vrne naj terko, pri element naj bo po abecedi pred drugim.)
Hvala za kakršnokoli pomoč
Torej kot že v naslovu omenjeno rabim pomoč pri Pythonu. Prvo nalogo mi je uspelo spacat skupaj glede na to da so bolj kot ne osnove ampak pri 2 se pa ustavi (ne znam se je lotit)
Zaradi preprostosti je vsak par naveden le enkrat po abecednem vrstnem redu -> ("Ana", "Berta") in ne tudi ("Berta", "Ana")
pari = {("Ana", "Berta"), ("Ana", "Greta"), ("Ana", "Helga"), ("Berta", "Cilka"), ("Berta", "Helga"), ("Cilka", "Dani"), ("Dani", "Ema"), ("Dani", "Greta"), ("Dani", "Helga"), ("Ema", "Fanči"), ("Ema", "Greta"), ("Ema", "Helga"), ("Fanči", "Iva"), ("Fanči", "Jana"), ("Fanči", "Klavdija"), ("Greta", "Helga")}
Druga predstavitev je s slovarjem, katerega ključi so imena, pripadajoče vrednosti pa množice znancev.
mreza = {"Ana": {"Berta", "Greta", "Helga"}, "Berta": {"Ana", "Helga", "Cilka"}, "Cilka": {"Berta", "Dani"}, "Dani": {"Cilka", "Ema", "Greta", "Helga"}, "Ema": {"Dani", "Fanči", "Greta", "Helga"}, "Fanči": {"Ema", "Iva", "Jana", "Klavdija"}, "Greta": {"Ana", "Dani", "Ema", "Helga"}, "Helga": {"Ana", "Berta", "Dani", "Ema", "Greta"}, "Iva": {"Fanči"}, "Jana": {"Fanči"}, "Klavdija": {"Fanči"} }
Naloga
po_znancih(mreza) vrne slovar, katerega ključi so števila od 1 do len(mreza) - 1, pripadajoče vrednosti pa množice oseb, ki imajo toliko znancev. Za malo mrežo mora funkcija vrniti {1: {"D"}, 2: {"A", "B"}, 3: {"C"}}.
priporocila(mreza) vrne množico parov, ki se med seboj ne poznajo, vendar imajo vsaj enega skupnega znanca. Par naj bo urejen po abecedi (prvi element naj bo po abecedi pred drugim).
klika(mreza, imena) vrne True, če se vse osebe iz podane množice imen poznajo med seboj.
najvec_skupnih(mreza) naj vrne imeni oseb, ki imata največ skupnih znancev. (Vrne naj terko, pri element naj bo po abecedi pred drugim.)
Hvala za kakršnokoli pomoč
- spremenilo: Stewie ()

d_DJ ::
če ti še ni uspelo rešiti druge:
def priporocila(mreza): resitev = [] temp_sez = sorted((list(mreza.keys()))) for i in range (len(temp_sez)-1): for j in range (i+1,len(temp_sez)): if temp_sez[j] not in mreza.get(temp_sez[i]): if len (mreza.get(temp_sez[i]).intersection(mreza.get(temp_sez[j]))) > 0: resitev.append (tuple((temp_sez[i],temp_sez[j]))) return resitev
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | python-rabim pomočOddelek: Programiranje | 2820 (1050) | rnla1973 |
» | Python - pomoč (strani: 1 2 3 )Oddelek: Programiranje | 18296 (9044) | black ice |
» | Naloga iz Putka - UPMOddelek: Programiranje | 2266 (1602) | NejcSSD |
» | urejanje - pythonOddelek: Programiranje | 1381 (1158) | ktka |
» | [java] funkcija ekvivalentna print_r v PHPOddelek: Programiranje | 1698 (1461) | sverde21 |