Ovire v vrsti
Tokratna naloga bo zelo kratka. V vsaki funkciji bo potrebno napisati samo eno vrstico. Točneje, tokratna naloga bo krajša, ko bi si želeli: v vsaki funkciji boste smeli napisati samo eno vrstico.
Spet se vračamo k isti nalogi, ki smo jo reševali že dvakrat: prvič smo jo imenovali Šikaniranje, drugič pa Funkcijske ovire.
Tokrat jih bomo reševali s pomočjo izpeljanih seznamov. Če vam kaj pomaga (najbrž vam vsaj malo) imate poleg testov že napisane funkcije, ki rešijo naloge ... le predolge so. :)
Obvezna naloga
Napišite funkcije
stevilo_ovir(ovire)
,dolzina_ovir(ovire)
,sirina(ovire)
,dodaj_vrstico(bloki, y)
globina(ovire, x)
senca(ovire)
tako, da bodo vsebovale samo stavek return
in ... kar je pač potrebno, da izračunate, kar morajo izračunati.
Dodatna naloga
Napišite funkcijo indeksi(s, subs)
, ki prejme niza s
in subs
ter vrne seznam indeksov znotraj s
, na katerih se pojavi subs
. Klic indeksi("pepelka peče prepelice", "pe")
vrne [0, 2, 8, 16]
, saj se pe
pojavi na indeksih 0, 2, 8 in 16. Tudi ta funkcija sme seveda obsegati samo return
.
Potem napišite v eni vrstici funkcijo
pretvori_vrstico(vrstica)
.
Čisto dodatna naloga (ki ne šteje nikamor)
Še preostali dve:
pretvori_zemljevid(zemljevid)
(tule se vam splača prebrati dokumentacijo funkcijesum
; alternativa je, da uporabitereduce
inadd
),naj_stolpec(ovire)
.
Testi
- 29. november 2022, 19:38