Izpit je bil ... res lahek.

Ujeme

Ujeme so nekoliko spominjale na vislice. Tule je preprosta rešitev.

def ujeme(b1, b2): b = "" for i in range(min(len(b1), len(b2))): if b1[i] == b2[i]: b += b1[i] else: b += "." return b

Tipična napaka, ki ste jo delali, je, da niste upoštevali, da je lahko druga beseda krajša od prve in ste pisali for i in range(len(b1)) ali kaj podobnega, kar je v tem primeru povzročilo napako pri indeksiranju.

Še preprosteje je, če uporabimo zip, ki nas reši skrbi glede dolžine nizov.

def ujeme1(b1, b2): b = "" for c1, c2 in zip(b1, b2): if c1 == c2: b += c1 else: b += "." return b

Če znamo uporabiti if-else (kar naj bi sodilo v "osnovni repertoar", saj ste se tudi pri C-ju gotovo učili operatorja ?:), lahko napišemo takole.

def ujeme2(b1, b2): b = "" for c1, c2 in zip(b1, b2): b += c1 if c1 == c2 else "." return b

Odtod pa nas loči le še droben korak do preproste rešitve v eni sami vrstici.

def ujeme3(b1, b2): return "".join(c1 if c1 == c2 else "." for c1, c2 in zip(b1, b2))

Grep

Tale je bila pravzaprav še lažja.

def grep(mask, substr): res = [] for fn in glob.glob(mask): if substr in file(fn).read(): res.append(fn) return res

Tole seveda kar kliče po krajši rešitvi.

def grep(mask, substr): return [fn for fn in glob.glob(mask) if substr in file(fn).read()]

Bralca bratca

Tale je bila zoprna, če ste jo želeli rešiti povsem prav - tako, da pravilno deluje na vseh testnih primerih. Problem je namreč srednja knjiga: eden od bratcev bo prebral več in "vmesno" knjigo naj vzame tisti, ki bo prebral "manj več". Spodnja rešitev deluje tako, da peter zgrabi naslednjo knjigo samo, če ga branje polovice te knjige ne bo pripeljalo čez polovico vseh knjig. Izkaže se, da to da pravilno rešitev.

def razdeliKnjige(debeline): if not debeline: return 0, 0 pol = sum(debeline)/2 peter = 0 for i in range(len(debeline)): if peter+debeline[i]/2 > pol: break peter += debeline[i] return i, len(debeline)-i

Tokrat dve rešitvi v eni vrstici:

def razdeliKnjige(debeline): return debeline and (lambda x: (x, len(debeline)-x))(min((abs(sum(debeline[:i])-sum(debeline)/2), i) for i in range(len(debeline)))[1]) or (0, 0)

Tale pa deluje hitrejše: ko boste odposlušali APS 1 in 2, boste razumeli, zakaj.

def razdeliKnjige(debeline): return debeline and (lambda x: (x, len(debeline)-x))(reduce(lambda (knjig, vsota), (novknjig, debelina): (knjig,vsota+debelina) if abs(vsota-sum(debeline)/2) < abs(vsota+debelina-sum(debeline)/2) else (novknjig,vsota+debelina), enumerate(debeline))[0]+1) or (0, 0)

Ploščina

Ta je pravzaprav najpreprostejša od vseh ... le, da je večina pozabila na zadnji člen! Nekateri - redki - ste se ga spomnili, a ga obravnavali posebej. V resnici pa v Pythonu niti to ni potrebno: tale funkcija deluje povsem pravilno, le da zadnji člen postavi na začetek (kar je seveda OK)

def ploscina(oglisca): p = 0 for i in range(len(oglisca)): p += (x[i][0]+x[i-1][0])*(x[i][1]-x[i-1][1]) return abs(p)/2.

Taisto v eni vrstici ni nič zahtevnega.

def ploscina(x): return abs(sum((x[i][0]+x[i-1][0])*(x[i][1]-x[i-1][1]) for i in range(len(x)))) / 2.</div></div><div class="modified">Zadnja sprememba: sreda, 10. avgust 2011, 10.20</div></div> </section> </div> </div> </div> </div> <footer id="page-footer" class="footer-popover bg-white"> <div data-region="footer-container-popover"> <button class="btn btn-icon bg-secondary icon-no-margin btn-footer-popover" data-action="footer-popover" aria-label="Show footer"> <i class="icon fa fa-question fa-fw " aria-hidden="true" ></i> </button> </div> <div class="footer-content-popover container" data-region="footer-content-popover"> <div class="footer-section p-3 border-bottom"> <div class="logininfo"> <div class="logininfo">Trenutno uporabljate gostujoči dostop (<a href="https://ucilnica.fri.uni-lj.si/login/index.php">Prijavite se</a>)</div> </div> </div> <div class="tool_usertours-resettourcontainer"></div> <div class="footer-section p-3 border-bottom"> <a class="mobilelink" href="https://download.moodle.org/mobile?version=2024042203.04&amp;lang=sl&amp;iosappid=633359593&amp;androidappid=com.moodle.moodlemobile">Pridobi mobilno aplikacijo</a> </div> <div class="footer-section p-3 border-bottom"> <div>Stran poganja <a href="https://moodle.com">Moodle</a></div> </div> <div class="footer-section p-3 border-bottom"> <a href="https://ucilnica.fri.uni-lj.si/mod/page/view.php?id=32431">Obvestilo o avtorskih pravicah</a> </div> <script> //<![CDATA[ var require = { baseUrl : 'https://ucilnica.fri.uni-lj.si/lib/requirejs.php/1737154906/', // We only support AMD modules with an explicit define() statement. enforceDefine: true, skipDataMain: true, waitSeconds : 0, paths: { jquery: 'https://ucilnica.fri.uni-lj.si/lib/javascript.php/1737154906/lib/jquery/jquery-3.7.1.min', jqueryui: 'https://ucilnica.fri.uni-lj.si/lib/javascript.php/1737154906/lib/jquery/ui-1.13.2/jquery-ui.min', jqueryprivate: 'https://ucilnica.fri.uni-lj.si/lib/javascript.php/1737154906/lib/requirejs/jquery-private' }, // Custom jquery config map. map: { // '*' means all modules will get 'jqueryprivate' // for their 'jquery' dependency. '*': { jquery: 'jqueryprivate' }, // Stub module for 'process'. This is a workaround for a bug in MathJax (see MDL-60458). '*': { process: 'core/first' }, // 'jquery-private' wants the real jQuery module // though. If this line was not here, there would // be an unresolvable cyclic dependency. jqueryprivate: { jquery: 'jquery' } } }; //]]> </script> <script src="https://ucilnica.fri.uni-lj.si/lib/javascript.php/1737154906/lib/requirejs/require.min.js"></script> <script> //<![CDATA[ M.util.js_pending("core/first"); require(['core/first'], function() { require(['core/prefetch']) ; M.util.js_pending('filter_mathjaxloader/loader'); require(['filter_mathjaxloader/loader'], function(amd) {amd.configure({"mathjaxconfig":"MathJax.Hub.Config({\r\nconfig: [\"Accessible.js\", \"Safe.js\"],\r\nextensions: [\"tex2jax.js\", \"asciimath2jax.js\"],\r\njax: [\"input\/TeX\", \"input\/AsciiMath\", \"output\/HTML-CSS\"],\r\nTeX: {\r\n extensions: [\"AMSmath.js\",\"AMSsymbols.js\",\"noErrors.js\",\"noUndefined.js\"]\r\n },\r\n asciimath2jax: {\r\n delimiters: [['`','`']]\r\n },\r\n tex2jax: {\r\n inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\r\n displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ],\r\n processEscapes: true,\r\n ignoreClass: \"editor_atto_content\"\r\n },\r\nerrorSettings: { message: [\"!\"] },\r\nskipStartupTypeset: true,\r\nmessageStyle: \"none\",\r\n\"HTML-CSS\": { availableFonts: [\"TeX\"] }\r\n});","lang":"sl"}); M.util.js_complete('filter_mathjaxloader/loader');});; require(["media_videojs/loader"], function(loader) { loader.setUp('sl'); });; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('core_courseformat/courseeditor'); require(['core_courseformat/courseeditor'], function(amd) {amd.setViewFormat("166", {"editing":false,"supportscomponents":true,"statekey":"1741872907_1743447418","overriddenStrings":[]}); M.util.js_complete('core_courseformat/courseeditor');});; require(['core_courseformat/local/courseindex/placeholder'], function(component) { component.init('course-index-placeholder'); }); ; require(['core_courseformat/local/courseindex/drawer'], function(component) { component.init('courseindex'); }); ; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; M.util.js_pending('core_courseformat/local/content/activity_header'); require(['core_courseformat/local/content/activity_header'], function(amd) {amd.init(); M.util.js_complete('core_courseformat/local/content/activity_header');});; M.util.js_pending('filter_syntaxhighlighter/hljs'); require(['filter_syntaxhighlighter/hljs'], function(amd) {amd.initHighlighting(); M.util.js_complete('filter_syntaxhighlighter/hljs');});; require(['core/moremenu'], function(moremenu) { moremenu(document.querySelector('#moremenu-67eae57b88155-navbar-nav')); }); ; require( [ 'jquery', ], function( $ ) { var uniqid = "67eae57b898f167eae57b891e92"; var container = $('#searchinput-navbar-' + uniqid); var opensearch = container.find('[data-action="opensearch"]'); var input = container.find('[data-region="input"]'); var submit = container.find('[data-action="submit"]'); submit.on('click', function(e) { if (input.val() === '') { e.preventDefault(); } }); container.on('hidden.bs.collapse', function() { opensearch.removeClass('d-none'); input.val(''); }); container.on('show.bs.collapse', function() { opensearch.addClass('d-none'); }); container.on('shown.bs.collapse', function() { input.focus(); }); }); ; require( [ 'jquery', ], function( $ ) { var uniqid = "67eae57b89b8f67eae57b891e93"; var container = $('#searchinput-navbar-' + uniqid); var opensearch = container.find('[data-action="opensearch"]'); var input = container.find('[data-region="input"]'); var submit = container.find('[data-action="submit"]'); submit.on('click', function(e) { if (input.val() === '') { e.preventDefault(); } }); container.on('hidden.bs.collapse', function() { opensearch.removeClass('d-none'); input.val(''); }); container.on('show.bs.collapse', function() { opensearch.addClass('d-none'); }); container.on('shown.bs.collapse', function() { input.focus(); }); }); ; require(['core/usermenu'], function(UserMenu) { UserMenu.init(); }); ; require(['theme_boost/drawers']); ; require(['theme_boost/courseindexdrawercontrols'], function(component) { component.init('courseindexdrawercontrols'); }); ; require(['theme_boost/drawers']); ; require(['theme_boost/footer-popover'], function(FooterPopover) { FooterPopover.init(); }); ; M.util.js_pending('theme_boost/loader'); require(['theme_boost/loader', 'theme_boost/drawer'], function(Loader, Drawer) { Drawer.init(); M.util.js_complete('theme_boost/loader'); }); ; M.util.js_pending('core/notification'); require(['core/notification'], function(amd) {amd.init(20439, []); M.util.js_complete('core/notification');});; M.util.js_pending('core/log'); require(['core/log'], function(amd) {amd.setConfig({"level":"warn"}); M.util.js_complete('core/log');});; M.util.js_pending('core/page_global'); require(['core/page_global'], function(amd) {amd.init(); M.util.js_complete('core/page_global');});; M.util.js_pending('core/utility'); require(['core/utility'], function(amd) {M.util.js_complete('core/utility');});; M.util.js_pending('core/storage_validation'); require(['core/storage_validation'], function(amd) {amd.init(null); M.util.js_complete('core/storage_validation');}); M.util.js_complete("core/first"); }); //]]> </script> <script src="https://ucilnica2425.fri.uni-lj.si/MathJax/MathJax.js?delayStartupUntil=configured"></script> <script> //<![CDATA[ M.str = {"moodle":{"lastmodified":"Zadnja sprememba","name":"Ime","error":"Napaka","info":"Informacije","yes":"Da","no":"Ne","cancel":"Prekli\u010di","confirm":"Potrdi","areyousure":"Ste prepri\u010dani?","closebuttontitle":"Zapri","unknownerror":"Neznana napaka","file":"Datoteka","url":"URL","collapseall":"Skr\u010di vse","expandall":"Raz\u0161iri vse"},"repository":{"type":"Tip","size":"Velikost","invalidjson":"Neveljaven JSON niz","nofilesattached":"Ni pripetih datotek","filepicker":"Izbirnik datotek","logout":"Odjava","nofilesavailable":"Ni datotek na voljo","norepositoriesavailable":"Oprostite, noben od trenutnih skladi\u0161\u010d ne more vra\u010dati datotek v zahtevani obliki.","fileexistsdialogheader":"Datoteka obstaja","fileexistsdialog_editor":"Datoteka s tem imenom je \u017ee pripeta v besedilo, ki ga urejate.","fileexistsdialog_filemanager":"Datoteka s tem imenom je \u017ee pripeta","renameto":"Preimenujte v \"{$a}\"","referencesexist":"Obstaja {$a} aliasov\/bli\u017enjic datotek, ki uporabljajo to datoteko kot vir","select":"Izberi"},"admin":{"confirmdeletecomments":"Izbrisali boste komentarje. Ste prepri\u010dani?","confirmation":"Potrditev"},"debug":{"debuginfo":"Razhro\u0161\u010devalne podrobnosti","line":"Vrstica","stacktrace":"Sled sklada"},"langconfig":{"labelsep":":"}}; //]]> </script> <script> //<![CDATA[ (function() {M.util.help_popups.setup(Y); M.util.js_pending('random67eae57b891e94'); Y.on('domready', function() { M.util.js_complete("init"); M.util.js_complete('random67eae57b891e94'); }); })(); //]]> </script> </div> <div class="footer-content-debugging footer-dark bg-dark text-light"> <div class="container-fluid footer-dark-inner"> </div> </div> </footer> </div> </div> </body></html>