# coding=utf-8 import server server.problems.load_language('python', 'sl') id = 185 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 = ['''\
Slaba rešitev:
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! Ponavljanje programske kode pa velja za slabo prakso. Bolje bo, če uporabimo zanke.
'''] plan = ['''\Plan
Ponavljaj 5x:
Izpiši vsoto
'''] while_clause = ['''\Kako bi prebrali 5 cen z uporabo zanke 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.
''' ] reading_while = ['''\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 pa ne več. Običajni trik v takih primerih 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 += 1Imaš zdaj morda idejo, kakšen naj bo pogoj?
''', '''\while stevec < 5:'''] summation = ['''\Računanje vsote bo najlažje 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.
''' ] hint = { 'plan':[bad_solution, plan, while_clause, reading_while, summation], 'printing': ['''V Pythonu izpisujemo s funkcijo
.''', '''
Pazi, da stavek s
'''], 'name_error' : [general_msg['error_head'], general_msg['general'], general_msg['name_error'], '''\Verjetno uporabljate spremenljivko, ki nima nastavljene vrednosti.''', '''\
Morda v pogoju uporabljate spremeljivko, ki ni definirana
'''], 'type_error' : [general_exception['error_head'], general_exception['general'], general_exception['type_error']], 'error' : [general_exception['error_head'], general_exception['general'],] }