From 7dd2b4dc917fe26267c1db1f5f58585a5417cb8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Mo=C5=BEina?= Date: Sun, 18 Oct 2015 19:21:12 +0200 Subject: Added some plans to some problems. --- .../introduction/fahrenheit_to_celsius/sl.py | 2 +- .../problems/lists_and_for/calculator_polish/sl.py | 44 ++++++++++++++++++++-- python/problems/lists_and_for/prefix/sl.py | 38 ++++++++++++++++++- python/problems/lists_and_for/split_word/sl.py | 36 +++++++++++++++++- python/problems/lists_and_for/substrings/sl.py | 41 +++++++++++++++++++- 5 files changed, 150 insertions(+), 11 deletions(-) (limited to 'python/problems') diff --git a/python/problems/introduction/fahrenheit_to_celsius/sl.py b/python/problems/introduction/fahrenheit_to_celsius/sl.py index f5ce4a4..9d6650c 100644 --- a/python/problems/introduction/fahrenheit_to_celsius/sl.py +++ b/python/problems/introduction/fahrenheit_to_celsius/sl.py @@ -51,7 +51,7 @@ print("Ime mi je", ime, ".") plan = ['''\

Program izvedemo v treh korakih:

    -
  1. Vprašanje za temperaturo v Fahrenheitih (F = ?).
  2. +
  3. Vprašaj uporabnika po temperaturi v Fahrenheitih (F = ?).
  4. Izračun temperature v Celzijih: C = 5/9 (F – 32)
  5. Izpis temperature v Celzijih (izpiši C).
''', 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:

''' -plan = ['''\ -

-''', +stack = ['''\ +

+Uporabi sklad, saj prebrano operacijo vedno izvajamo na zadnjih dveh številih. +

''', + '''\ +

+Sklad je seznam, kjer se elementi vedno dodajajo in brišejo na koncu seznama. +V Pythonovih seznamih imamo za ta namen metodi append in +pop. +

''' +] + +split = ['''\ +

+Niz razbijemo na besede z metodo split +

''', + '''\ +
+>>> izraz = '3 5 + 2 * 10 2'
+>>> izraz.split()
+['3', '5', '+', '2', '*', '10', '2']
+
''', + '''\ +

Zanimivost, ki je ne potrebujete za to nalogo: +če splitu damo znak v argument, bo razbil niz po tem znaku:

+
+>>> b = 'brina,burja,miha;maja,maks'
+>>> b.split(",")
+>>> ['brina', 'burja', 'miha;maja', 'maks']
+
'''] + +plan = [stack, '''\ -

'''] +
+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
+
+''', + 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

''' +substring = ['''\ +

Del niza oz. del seznama dobimo z rezanjem

+''', + '''\ +

Za rezanje uporabi dvopičje

''', + '''\ +
+>>> s = "Rezanje"
+>>> s[:2]
+'Re'
+>>> s[2:]
+'zanje'
+>>> s[2:5]
+'zan'
+
'''] + plan = ['''\ -

+

Z zanko pojdi čez vse črke v besedi. Vsakič v seznam dodaj podniz od prvega znaka do trenutnega.

+''', + '''\ +
+naredi prazen seznam
+Z zanko pojdi od 0 do dolžine niza:
+    v seznam dodaj podniz (od prvega znaka do trenutnega)
+
''', + + '''\ +

Nov prazen seznam:

+
+xs = []
+
''', '''\ -

'''] +

Zanka od 0 do n:

+
+for i in range(n):
+
''', + 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

''' +substring = ['''\ +

Del niza oz. del seznama dobimo z rezanjem

+''', + '''\ +

Za rezanje uporabi dvopičje

''', + '''\ +
+>>> s = "Rezanje"
+>>> s[:2]
+'Re'
+>>> s[2:]
+'zanje'
+>>> s[2:5]
+'zan'
+
'''] + plan = ['''\ -

+

Ta naloga je skorajda identična prejšnji (predpone), le da tu dodajamo dva podniza.

''', '''\ -

'''] +
+naredi prazen seznam
+Z zanko pojdi od 0 do dolžine niza:
+    v seznam dodaj oba podniza
+
''', + '''\ +

Nov prazen seznam:

+
+xs = []
+
+''', + '''\ +

Zanka od 0 do n:

+
+for i in range(n):
+
''', + substring] hint = { 'final_hint': ['''\

Program je pravilen!
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, ...

''' + +substring = ['''\ +

Del niza oz. del seznama dobimo z rezanjem

+''', + '''\ +

Za rezanje uporabi dvopičje

''', + '''\ +
+>>> s = "Rezanje"
+>>> s[:2]
+'Re'
+>>> s[2:]
+'zanje'
+>>> s[2:5]
+'zan'
+
'''] + plan = ['''\ -

+

Potrebujemo dvojno zanko.

''', '''\ -

'''] +

Prva zanka gre po dolžini podniza, druga po začetku podniza.

''', + '''\ +
+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 
+
''', + + '''\ +

Nov prazen seznam:

+
+xs = []
+
+''', + '''\ +

Zanka od 0 do n:

+
+for i in range(n):
+
''', + substring] hint = { 'final_hint': ['''\ -- cgit v1.2.1