import server mod = server.problems.load_language('python', 'sl') name = 'Blagajna "vse po pet"' slug = 'Blagajna "vse po pet"' description = '''\
V trgovini "vse po pet" morajo stranke vedno kupiti natanko pet artiklov. Za blagajne zato potrebujejo programsko opremo, ki uporabnika (blagajnika) vpraša po petih cenah; ko jih le-ta vnese, program izpiše vsoto.
Cena artikla: 2 Cena artikla: 4 Cena artikla: 1 Cena artikla: 6 Cena artikla: 3 Vsota: 16''' bad_solution = ['''\
Primer, kako NE reševati
cena1 = float(input('Cena artikla: ')) cena2 = float(input('Cena artikla: ')) cena3 = float(input('Cena artikla: ')) cena4 = float(input('Cena artikla: ')) cena5 = float(input('Cena artikla: ')) vsota = cena1+cena2+cena3+cena4+cena5 print ("Vsota: " + vsota)''', '''\
Rešitev je slaba, saj imamo pet enakih vrstic! Uporabite zanko!
'''] main_plan = ['''\Plan:
1. Ponavljaj 5x: 2. Preberi ceno. 3. Prištej vsoti. 4. Izpiši vsoto.'''] while_clause = ['''\
Uporabi zanko while
.
Zanka while
ima naslednjo sintakso:
while Pogoj: stavek 1 stavek 2 ... stavek n # stavek izven while.''', '''\
Stavki znotraj while (ki so zamaknjeni) se izvajajo toliko časa, dokler velja Pogoj
v glavi stavka while.
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.
Za večkratno branje želimo uporabiti zanko
''', '''\while ____: cena = float(input('Cena artikla: '))
Kakšen je pogoj?
''', '''\ Izmisliti si moramo pogoj, ki bo resničen 5 korakov, potem ne več. Običajni trik je uporaba števca. ''', '''\ Števec je spremenljivka, ki se v zanki vsakič poveča za ena - torej šteje''', '''\stevec = 0 while _________: cena = float(input('Cena artikla: ')) stevec += 1
Imaš zdaj morda idejo, kakšen naj bo pogoj?
''', '''\while stevec < 5:'''] summation = ['''\
Računaj vsoto sproti v zanki.
''', '''\
Izmisli si spremenljivko, ki bo predstavljala vsoto, jo na začetku (pred zanko) nastavi na 0 in ji v vsakem koraku prištej trenutno ceno. Podobno kot števec.
''' ] plan = [bad_solution, main_plan, while_clause, reading_while, summation] hint = { 'while_clause': while_clause, 'reading_while': reading_while, 'summation': summation, 'printing': ['''\Izpiši vsoto
''', '''\ V Pythonu izpisujemo s funkcijo print
.''', '''
Pazi, da stavek s print
ne bo zamaknjen, saj bo v takem
primeru del while-a in se bo večkrat izpisal.
Izpiši vsoto
'''], 'name_error' : [mod.general_msg['error_head'], mod.general_msg['general_exception'], mod.general_msg['name_error'], '''\
Verjetno uporabljaš spremenljivko, ki nima nastavljene vrednosti. Morda v pogoju?'''], }