p1/06_analiza_infrastrukture/naloga_demsar.py

46 lines
1.0 KiB
Python
Raw Normal View History

2023-11-27 13:35:33 +00:00
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
}