Preskoči na glavno vsebino
Učilnica FRI 25/26
  • Domov
  • Koledar
  • Več
Slovenščina ‎(sl)‎
English ‎(en)‎ Slovenščina ‎(sl)‎ Македонски ‎(mk)‎ Русский ‎(ru)‎ 한국어 ‎(ko)‎
Trenutno uporabljate gostujoči dostop
Prijavite se
Učilnica FRI 25/26
Domov Koledar
Razširi vse Skrči vse
  1. Nadzorna plošča
  2. progkog
  3. Rekurzivne funkcije
  4. Dve rekurzivni funkciji za sezname

Dve rekurzivni funkciji za sezname

Zahteve zaključka
Rok za oddajo: torek, 13. januar 2026, 13.45

Obvezna naloga: vsako drugo nič

Napišite funkcijo vsako_drugo_0(s), ki prejme seznam števil in vrne True, če je vsako drugo število 0, vmesna števila pa so različna od 0. Tudi prvo število mora biti različno od 0. Funkcija vrne True za sezname, kot so [5, 0, -1, 0, 4, 0], [5, 0, -1, 0, 4], [5, 0], [5] in celo [], ter False za sezname, kot [5, 0, -1, 4, 0], [5, 0, 0, 0, -1, 4, 0] in [0, 5, 0, 1].

Če znate, jo napišite tako, da boste napisali eno samo funkcijo. Če ne, pač dve. Samo brez zank!

Neobvezna dodatna naloga: vsota

Kdor je frajer, frajerka, pa sprogramira še funkcijo, ki vrne vsoto vseh števil v takšnem seznamu: [5, [1, 3, [2, 4, [1, 4], [4, 2], [1, 2, [3, 1]]], 2, [4, 5]], 4, [1, 5]].

Potrebovali boste tole: če imamo nek x, lahko s klicem isinstance(x, int) izvemo, ali gre za int.

s = [1, 2, [3, 4, 1], 5]
for x in s:
    if isinstance(x, int):
        print(x, "je int")
    else:
        print(x, "ni int")

izpiše

1 je int
2 je int
[3, 4, 1] ni int
5 je int

Funkcijo najprej naredite rekurzivno. Pri tem smete uporabljati zanke! To vam celo priporočam.

Kdor je res res frajerka ali frajer, pa bo potem enako funkcijo naredil še brez rekurzije, s čisto običajnimi zankami.

Pri programiranju ne uporabljajte raznih Pythonovih trikov, ki bi seznam pretvorili v običajni seznam. Garažne finte, kot je tale ne veljajo.

>>> s = [5, [1, 3, [2, 4, [1, 4], [4, 2], [1, 2, [3, 1]]], 2, [4, 5]], 4, [1, 5]]
>>> t = eval("[" + repr(s).replace("[", "").replace("]", "") + "]")
>>> t
[5, 1, 3, 2, 4, 1, 4, 4, 2, 1, 2, 3, 1, 2, 4, 5, 4, 1, 5]

Testi

  • testi.py testi.py
    7. januar 2026, 18:25
Trenutno uporabljate gostujoči dostop (Prijavite se)
Pridobi mobilno aplikacijo
Stran poganja Moodle
Obvestilo o avtorskih pravicah