# 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 = '''\

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.

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.

Cena: 10
Cena: 5
Cena: 0
Porabili boste 15 evrov za 2 stvari.

Pazite, uporabnik je kupil dve stvari, čeprav je vnesel tri cene!

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.
''' main_plan = ['''\

Plan je enak kot pri prejšnjih nalogah: while zanka + izpis števca in vsote.

'''] while_condition = ['''\

Pogoj v zanki while bo sestavljen iz več pogojev.

''', '''\

V Pythonu združujemo pogoje z logičnimi operatoriji and, or in not

''' '''\

Zanka se ustavi, če presežemo 100 EUR, če smo vpisali 0 ali kupili 10 stvari. Vendar pazite: napisati moramo pogoj, kdaj se zanka nadaljuje!

''', '''\
cena != 0 and vsota < 100 and artiklov < 10
'''] plan = [main_plan, while_condition] while_clause = ['''\

Uporabi zanko ''', '''\

while Pogoj:
    stavek 1
    stavek 2
    ...
stavek n # stavek izven while.
''', '''\

Stavki znotraj while (zamaknjeni) se izvajajo toliko časa, dokler velja Pogoj. 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.

''' ] hint = { 'while_clause': while_clause, 'while_condition': while_condition, 'printing': ['''\

Izpiši rezultat!

'''], 'nonumber': ['''

Izpiši vsoto in število produktov.

'''], 'summation': ['''

Seštevanje cen ne deluje pravilno.

'''], 'counting': ['''

Napaka pri štetju stvari.

'''], 'counting_with_0': ['''

Napaka pri štetju, kadar je zadnja cena 0.

''', '''

Števec povečaj, le če je cena > 0

'''], 'name_error' : [mod.general_msg['error_head'], mod.general_msg['general_exception'], mod.general_msg['name_error'], '''\

Verjetno v pogoju uporabljaš nedefinirano spremenljivko.'''], 'problematic_test_case': ['''\

Zaporedje cen, kjer program ne dela prav: [%=testin%]
Pravilna vsota [%=sum%], pravilno število stvari: [%=count%]'''], 'final_hint': ['''\

Odlično! Naloga rešena.

Še zanimivost: v while zanki smo dobili ustavitveni pogoj tako, da smo negirali pogoj iz teksta (ali vnesemo 0 ali je vnešenih deset števil ali ko vsota cen doseže ali preseže 100 evrov). Pri tem smo ali (or) spremenili v in (and): cena > 0 and stevec < 10 and vsota < 100. Temu pravimo De Morganov zakon. '''], 'eof_error':[mod.general_msg['eof_error'], '''\

Verjetno se zanka izvede prevečkrat. Preveri pogoj!

'''] }