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