diff options
Diffstat (limited to 'python/problems/lists_and_for')
-rw-r--r-- | python/problems/lists_and_for/calculator_polish/sl.py | 44 | ||||
-rw-r--r-- | python/problems/lists_and_for/prefix/sl.py | 38 | ||||
-rw-r--r-- | python/problems/lists_and_for/split_word/sl.py | 36 | ||||
-rw-r--r-- | python/problems/lists_and_for/substrings/sl.py | 41 |
4 files changed, 149 insertions, 10 deletions
diff --git a/python/problems/lists_and_for/calculator_polish/sl.py b/python/problems/lists_and_for/calculator_polish/sl.py index b7ff8a1..eb47c94 100644 --- a/python/problems/lists_and_for/calculator_polish/sl.py +++ b/python/problems/lists_and_for/calculator_polish/sl.py @@ -47,11 +47,47 @@ Izraz: </pre> </p>''' -plan = ['''\ -<p></p> -''', +stack = ['''\ +<p> +Uporabi sklad, saj prebrano operacijo vedno izvajamo na zadnjih dveh številih. +</p>''', + '''\ +<p> +Sklad je seznam, kjer se elementi vedno dodajajo in brišejo na koncu seznama. +V Pythonovih seznamih imamo za ta namen metodi <code>append</code> in +<code>pop</code>. +</p>''' +] + +split = ['''\ +<p> +Niz razbijemo na besede z metodo <code>split</code> +</p>''', + '''\ +<pre> +>>> izraz = '3 5 + 2 * 10 2' +>>> izraz.split() +['3', '5', '+', '2', '*', '10', '2'] +</pre>''', + '''\ +<p>Zanimivost, ki je ne potrebujete za to nalogo: +če splitu damo znak v argument, bo razbil niz po tem znaku:</p> +<pre> +>>> b = 'brina,burja,miha;maja,maks' +>>> b.split(",") +>>> ['brina', 'burja', 'miha;maja', 'maks'] +</pre>'''] + +plan = [stack, '''\ -<p></p>'''] +<pre> +for zanka čez vse elemente (števila, operacije): + če je element operacija: + Iz sklada preberi zadnji dve vrednosti, izračunaj in postavi nazaj na sklad + drugače postavi število na sklad +</pre> +''', + split] hint = { 'final_hint': ['''\ diff --git a/python/problems/lists_and_for/prefix/sl.py b/python/problems/lists_and_for/prefix/sl.py index 0a3d391..49a39c7 100644 --- a/python/problems/lists_and_for/prefix/sl.py +++ b/python/problems/lists_and_for/prefix/sl.py @@ -17,11 +17,45 @@ Vpiši besedo: drevo </pre> </p>''' +substring = ['''\ +<p>Del niza oz. del seznama dobimo z rezanjem</p> +''', + '''\ +<p>Za rezanje uporabi dvopičje</p>''', + '''\ +<pre> +>>> s = "Rezanje" +>>> s[:2] +'Re' +>>> s[2:] +'zanje' +>>> s[2:5] +'zan' +</pre>'''] + plan = ['''\ -<p></p> +<p>Z zanko pojdi čez vse črke v besedi. Vsakič v seznam dodaj podniz od prvega znaka do trenutnega. </p> +''', + '''\ +<pre> +naredi prazen seznam +Z zanko pojdi od 0 do dolžine niza: + v seznam dodaj podniz (od prvega znaka do trenutnega) +</pre>''', + + '''\ +<p>Nov prazen seznam:</p> +<pre> +xs = [] +</pre> ''', '''\ -<p></p>'''] +<p>Zanka od <code>0</code> do <code>n</code>:</p> +<pre> +for i in range(n): +</pre>''', + substring] + hint = { 'final_hint': ['''\ diff --git a/python/problems/lists_and_for/split_word/sl.py b/python/problems/lists_and_for/split_word/sl.py index 80ecfc4..59a27b2 100644 --- a/python/problems/lists_and_for/split_word/sl.py +++ b/python/problems/lists_and_for/split_word/sl.py @@ -17,12 +17,44 @@ Vpiši besedo: gozd </pre> </p>''' +substring = ['''\ +<p>Del niza oz. del seznama dobimo z rezanjem</p> +''', + '''\ +<p>Za rezanje uporabi dvopičje</p>''', + '''\ +<pre> +>>> s = "Rezanje" +>>> s[:2] +'Re' +>>> s[2:] +'zanje' +>>> s[2:5] +'zan' +</pre>'''] + plan = ['''\ -<p></p> +<p>Ta naloga je skorajda identična prejšnji (predpone), le da tu dodajamo dva podniza. </p> ''', '''\ -<p></p>'''] +<pre> +naredi prazen seznam +Z zanko pojdi od 0 do dolžine niza: + v seznam dodaj oba podniza +</pre>''', + '''\ +<p>Nov prazen seznam:</p> +<pre> +xs = [] +</pre> +''', + '''\ +<p>Zanka od <code>0</code> do <code>n</code>:</p> +<pre> +for i in range(n): +</pre>''', + substring] hint = { 'final_hint': ['''\ <p>Program je pravilen! <br> diff --git a/python/problems/lists_and_for/substrings/sl.py b/python/problems/lists_and_for/substrings/sl.py index 595aee8..6bf56bf 100644 --- a/python/problems/lists_and_for/substrings/sl.py +++ b/python/problems/lists_and_for/substrings/sl.py @@ -19,11 +19,48 @@ Vrstni red naj bo točno tak kot ga prikazuje primer. Začnemo s praznim nizom, nato pridejo na vrsto podnizi dolžine ena, dva, tri, ... </p>''' + +substring = ['''\ +<p>Del niza oz. del seznama dobimo z rezanjem</p> +''', + '''\ +<p>Za rezanje uporabi dvopičje</p>''', + '''\ +<pre> +>>> s = "Rezanje" +>>> s[:2] +'Re' +>>> s[2:] +'zanje' +>>> s[2:5] +'zan' +</pre>'''] + plan = ['''\ -<p></p> +<p>Potrebujemo dvojno zanko. </p> ''', '''\ -<p></p>'''] +<p>Prva zanka gre po dolžini podniza, druga po začetku podniza. </p>''', + '''\ +<pre> +naredi seznam s praznim podnizom +Z zanko pojdi od 0 do dolžine niza: + z zanko pojdi od 0 do dolžine podniza + v seznam dodaj ustrezen podniz +</pre>''', + + '''\ +<p>Nov prazen seznam:</p> +<pre> +xs = [] +</pre> +''', + '''\ +<p>Zanka od <code>0</code> do <code>n</code>:</p> +<pre> +for i in range(n): +</pre>''', + substring] hint = { 'final_hint': ['''\ |