Funkcionalne ovire
Rok za oddajo: torek, 15. november 2022, 13.45
Naloga vsebuje teste. Naloga je rešena samo, če prestane vse teste. Poglej navodila za poganjanje testov.
Naloga se nanaša na nalogi prejšnjih dveh tednov: večinoma je potrebno le preoblikovati to, kar ste programirali takrat, v funkcije. Pri reševanju smete uporabiti tudi objavljene rešitve prejšnjih dveh nalog.
Napisati je potrebno naslednje funkcije:
stevilo_ovir(ovire)
prejme ovire v obliki seznama trojk(x0, x1, y)
in vrne število ovir.dolzina_ovir(ovire)
vrne skupno dolžino vseh ovirsirina(ovire)
vrne širino kolesarke steze, se pravi najbolj desno koordinato v seznamu ovirpretvori_vrstico(vrstica)
prejme vrstico v obliki niza, sestavljenega iz znakov#
in.
ter vrne seznam parov (x0, x1) (ogrevalni del domače naloge prejšnjega tedna)dodaj_vrstico(bloki, y)
prejme seznam, kakršnega vrača prejšnja funkcija in neko številoy
. Vrniti mora seznam, v katerem je vsakemu paru dodany
. Klicdodaj_vrstico([(3, 4), (6, 8), (11, 11)], 3)
vrne[(3, 4, 3), (6, 8, 3), (11, 11, 3)]
.pretvori_zemljevid(zemljevid)
dobi zemljevid v obliki seznama nizov in vrne seznam ovir (obvezna domača naloga prejšnjega tedna). Funkcija mora uporabiti prejšnji dve funkciji - testi bodo to preverili tako, da bodo začasno zamenjali tvojo funkcijo z neko drugo, ki vrača napačne številke in preverili, ali so številke res "pravilno napačne".globina(ovire, x)
prejme seznam ovir (v obliki trojk) in vrne vrstico, v kateri bi kolesar, ki se vozi po stolpcux
, naletel na oviro (naloga izpred dveh tednov). Če v stolpcu ni ovir, naj vrneNone
.naj_stolpec(ovire)
vrne stolpec, v katerem kolesar pride najdlje in vrstico, do katere pride. Možno je tudi, da v kakem stolpcu ni ovire; v tem primeru vrne koordinato tega stolpca inNone
.senca(ovire)
vrne seznam, katerega elementa soFalse
oz.True
glede na to, ali stolpec vsebuje kako oviro ali ne. Če je širina poti 5 in sta drugi in zadnji stolpec brez ovir, vrne[False, True, False, False, True]
.
Testi
- 7. november 2022, 20:22