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. pn
  3. Numpy
  4. Smučarski skoki

Smučarski skoki

Zahteve zaključka
Rok za oddajo: sreda, 17. december 2025, 11.15

V tej domači nalogi boste uporabljali numpy. Vsaka funkcija bo napisana po tem vzorcu:

def ime_funkcije(...):
    return ...

Torej: funkcija dobi argumente (vse razen ene pravzaprav le enega) in vsebuje samo return, ki izračuna in vrne, kar je treba. Zato ker delamo z numpy, tako kot smo delali na predavanjih.

Tokrat tudi ne smete pisati nobenih dodatnih funkcij -- testi bodo preverili, da je res tako.

V funkcije ne dodajajte testnih printov in podobnih reči. Torej: lahko, med delom, potem pa jih pobrišite, sicer bodo testi padli.

Naloge

Naloge bodo iz analize smučarskih skokov. Vse funkcije bodo kot argument dobile numpyjevo tabelo (array) z dolžinami skokov. Ena funkcija (stevilo_zmag) bo dobila dve tabeli. Napišite naslednje funkcije:

  1. stevilo_nadpovprecnih(skoki) vrne število skokov, ki so daljši od povprečne dolžine skoka.

    stevilo_nadpovprecnih(np.array([200, 100, 110, 210, 212, 215])) vrne 4, ker so štirje skoki (200, 210, 212, 215) daljši od povprečja (174.5).

  2. nadpovprecni_skoki(skoki) vrne tabelo dolžin nadpovprečnih skokov.

    nadpovprecni_skoki(np.array([200, 100, 110, 210, 212, 215])) vrne np.array([200, 210, 212, 215]).

  3. povprecje_nadpovprecnih(skoki) vrne povprečno dolžino nadpovprečnih skokov.

    povprecje_nadpovprecnih(np.array([200, 100, 110, 210, 212, 215])) vrne 209.25, ker je povprečje skokov (200, 210, 212, 215) enako 209.25.

  4. stevilo_zmag(skoki, drugi) primerja dva tekmovalca, katerih skoki so podani v tabelah skoki in drugi. Vrne število skokov, kjer je prvi tekmovalec skočil dlje od drugega. Primerjamo istoležne skoke (prvi skok prvega tekmovalca z prvim skokom drugega tekmovalca, drugi z drugim itd.).

    stevilo_zmag(np.array([200, 100, 110, 210, 212, 215]),
                 np.array([190, 120, 130, 200, 220, 210]))
    

    vrne 4, ker je prvi tekmovalec skočil dlje v skokih prvem in v zadnjih treh skokih.

  5. vedno_boljsi(skoki) vrne True, če je vsak naslednji skok daljši od prejšnjega, sicer False.

    vedno_boljsi(np.array([100, 150, 200, 250])) vrne True, ker je vsak naslednji skok daljši od prejšnjega.

    vedno_boljsi(np.array([100, 150, 150, 250])) vrne False, ker drugi in tretji skok nista v naraščajočem vrstnem redu.

    vedno_boljsi(np.array([100, 80, 150])) vrne False, ker je drugi skok krajši od prvega.

  6. naj_skoki(skoki) vrne zaporedne številke najdaljših skokov.

    naj_skoki(np.array([100, 200, 150, 200, 50])) vrne np.array([1, 3]), ker sta najdaljša 2. in 4. skok (oba sta dolga 200 m).

  7. Tale je malo bolj zanimiva (nič težkega, samo malo morate pomisliti): ocena(skoki) vrne oceno, ki jo izračunamo tako, da izločimo najkrajši in najdaljši skok ter izračunamo povprečno dolžino ostalih. (Nasvet: pri tem nisem uporabil funkcije mean, pa tudi urejal nisem.)

    ocena(np.array([100, 200, 150, 300, 250])) vrne 200, ker je povprečje skokov (200, 150, 250) enako 200.

Testi

  • testi.py testi.py
    10. december 2025, 20:22
Trenutno uporabljate gostujoči dostop (Prijavite se)
Pridobi mobilno aplikacijo
Stran poganja Moodle
Obvestilo o avtorskih pravicah