diff --git a/06_analiza_infrastrukture/naloga_demsar.py b/06_analiza_infrastrukture/naloga_demsar.py new file mode 100644 index 0000000..72a7294 --- /dev/null +++ b/06_analiza_infrastrukture/naloga_demsar.py @@ -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 + }