06_naloga demšarjeve rešitve
This commit is contained in:
parent
50d32bed39
commit
44aa6d412e
45
06_analiza_infrastrukture/naloga_demsar.py
Normal file
45
06_analiza_infrastrukture/naloga_demsar.py
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
from itertools import pairwise
|
||||||
|
|
||||||
|
|
||||||
|
def nove_povezave(pot, zemljevid):
|
||||||
|
return set(pairwise(pot)) - set(zemljevid)
|
||||||
|
|
||||||
|
|
||||||
|
def obiskane_tocke(pot):
|
||||||
|
return set(pot)
|
||||||
|
|
||||||
|
|
||||||
|
def popravljena_pot(pot):
|
||||||
|
return pot[::2] + pot[-1]
|
||||||
|
|
||||||
|
|
||||||
|
def povezave_z_vescino(pot, zemljevid, vescina):
|
||||||
|
return [povezava for povezava in pairwise(pot) if vescina in zemljevid[povezava]]
|
||||||
|
|
||||||
|
|
||||||
|
def dolgocasna_pot(pot, zemljevid):
|
||||||
|
return not all(map(zemljevid.get, pairwise(pot)))
|
||||||
|
|
||||||
|
|
||||||
|
def dobra_pot(pot, zemljevid):
|
||||||
|
return all(len(zemljevid[povezavva]) >= 2 for povezava in pairwise(pot))
|
||||||
|
|
||||||
|
|
||||||
|
def zahtevnost_poti(pot, zemljevid):
|
||||||
|
return max(len(zemljevid[povezavva]) for povezava in pairwise(pot))
|
||||||
|
|
||||||
|
|
||||||
|
def izvedljiva(pot, zemljevid, zivljenj):
|
||||||
|
return sum([povezava not in zemljevid for povezava in pairwise(pot)]) < zivljenj
|
||||||
|
|
||||||
|
|
||||||
|
def enosmerne(zemljevid):
|
||||||
|
return {(od, do) for od, do in zemljevid if (do, od) not in zemljevid}
|
||||||
|
|
||||||
|
|
||||||
|
def dvosmerne(zemljevid):
|
||||||
|
return {
|
||||||
|
povezava: vescine
|
||||||
|
for povezava, vescine in zemljevid.item()
|
||||||
|
if povezava[::-1] in zemljevid
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user