summaryrefslogtreecommitdiff
path: root/python/problems/while_and_if/consumers_anonymous/sl.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/problems/while_and_if/consumers_anonymous/sl.py')
-rw-r--r--python/problems/while_and_if/consumers_anonymous/sl.py116
1 files changed, 116 insertions, 0 deletions
diff --git a/python/problems/while_and_if/consumers_anonymous/sl.py b/python/problems/while_and_if/consumers_anonymous/sl.py
new file mode 100644
index 0000000..5666216
--- /dev/null
+++ b/python/problems/while_and_if/consumers_anonymous/sl.py
@@ -0,0 +1,116 @@
+# coding=utf-8
+import server
+mod = server.problems.load_language('python', 'sl')
+
+id = 201
+name = 'Klub anonimnih potrošnikov'
+slug = 'Klub anonimnih potrošnikov'
+
+
+description = '''\
+<p>Razpas trgovin je pripeljal do zasvojenosti z nakupovanjem. Ena od metod zdravljenja
+temelji na inteligentnih košaricah, ki sprejmejo največ deset artiklov; po tem se zaklenejo
+in jih lahko kupec le še odnese na blagajno. Prav tako se zaklenejo,
+če cena artiklov doseže (ali preseže) 100 evrov.</p>
+
+<p>Napiši program, ki mu uporabnik vnaša cene in ki se neha izvajati,
+ko uporabnik vnese 0 (ne bo več kupoval),
+ko je vnešenih deset števil ali ko vsota cen doseže ali preseže 100 evrov.</p>
+
+<pre>
+Cena: 10
+Cena: 5
+Cena: 0
+Porabili boste 15 evrov za 2 stvari.
+</pre>
+<p>Pazite, uporabnik je kupil dve stvari, čeprav je vnesel tri cene!</p>
+
+<pre>
+Cena: 10
+Cena: 5
+Cena: 90
+Porabili boste 105 evrov za 3 stvari.
+
+Cena: 1
+Cena: 1
+Cena: 1
+Cena: 1
+Cena: 1
+Cena: 1
+Cena: 1
+Cena: 1
+Cena: 1
+Cena: 1
+Porabili boste 10 evrov za 10 stvari.
+</pre>
+'''
+
+main_plan = ['''\
+<p><b>Plan</b> je enak kot pri prejšnjih nalogah: while zanka + izpis števca in vsote. </p>
+''']
+
+while_condition = ['''\
+<p><b>Pogoj</b> v zanki while bo sestavljen iz več pogojev.</p>''',
+ '''\
+<p>V Pythonu združujemo pogoje z logičnimi operatoriji <code>and</code>,
+<code>or</code> in <code>not</code></p>'''
+ '''\
+<p>Zanka se ustavi, če presežemo 100 EUR, če smo vpisali 0 ali kupili 10 stvari.
+Vendar pazite: napisati moramo pogoj, kdaj se zanka <b>nadaljuje</b>!</p>''',
+ '''\
+<pre>
+cena != 0 and vsota < 100 and artiklov < 10
+</pre>
+''']
+
+
+plan = [main_plan,
+ while_condition]
+
+while_clause = ['''\
+<p>Uporabi zanko <while</p>''',
+ '''\
+<pre>
+while Pogoj:
+ stavek 1
+ stavek 2
+ ...
+stavek n # stavek izven while.
+</pre>''',
+ '''\
+<p>Stavki znotraj while (zamaknjeni) se izvajajo toliko časa, dokler velja <code>Pogoj</code>.
+Ko pogoj ne velja več, Python preskoči vrstice, ki so del while-a in nadaljuje s stavki, ki sledijo – v
+našem primeru s stavkom n.</p>'''
+ ]
+
+hint = {
+ 'while_clause': while_clause,
+
+ 'while_condition': while_condition,
+
+ 'printing': ['''\
+<p>Izpiši rezultat!</p>'''],
+
+ 'nonumber': ['''<p>Izpiši vsoto in število produktov.<p>'''],
+
+ 'summation': ['''<p>Seštevanje cen ne deluje pravilno.<p>'''],
+
+ 'counting': ['''<p>Napaka pri štetju stvari.<p>'''],
+
+ 'name_error' : [mod.general_msg['error_head'],
+ mod.general_msg['general_exception'],
+ mod.general_msg['name_error'],
+ '''\
+<p>Verjetno v pogoju uporabljaš nedefinirano spremenljivko.'''],
+
+ 'problematic_test_case': ['''\
+<p>Zaporedje cen, kjer program ne dela prav: [%=testin%]<br>
+Pravilna vsota [%=sum%], pravilno število stvari: [%=count%]'''],
+
+ 'final_hint': ['''\
+<p><b>Odlično!</b>Naloga rešena.</p>
+Še zanimivost: v while zanki smo negirali ustavitveni pogoj tako, da smo negirali posamezne pogoje in
+spremenili pogoj <code>or</code> v <code>and</code>. Temu pravimo De Morganov zakon.
+''']
+
+}