From bab0b0a2fe8b3aad853740750d4873fb929f5f41 Mon Sep 17 00:00:00 2001
From: Martin Primer, kako NE reševati
+ Primer, kako NE reševati
Rešitev je slaba, saj imamo pet enakih vrstic! Uporabite zanko! Plan: Plan: Kako bi nekaj 5x ponovil? Uporabi zanko Zanka while ima naslednjo sintakso: Zanka
cena1 = float(input('Cena artikla: '))
cena2 = float(input('Cena artikla: '))
@@ -36,7 +36,7 @@ print ("Vsota: " + vsota)
1. Ponavljaj 5x:
2. Preberi ceno.
@@ -45,9 +45,9 @@ main_plan = ['''\
''']
while_clause = ['''\
-while
.while
ima naslednjo sintakso:
while Pogoj:
stavek 1
@@ -62,7 +62,7 @@ našem primeru s stavkom n.
Za večkratno branje želimo uporabiti zanko
''', +Za večkratno branje želimo uporabiti zanko
''', '''\@@ -94,7 +94,7 @@ while stevec < 5: '''] summation = ['''\ -Računanje vsote bo najlažje sproti v zanki.
''', +
Računaj vsoto sproti v zanki.
''', '''\
Izmisli si spremenljivko, ki bo predstavljala vsoto, jo na diff --git a/python/problems/while_and_if/checking_account/sl.py b/python/problems/while_and_if/checking_account/sl.py index 2825431..91a877c 100644 --- a/python/problems/while_and_if/checking_account/sl.py +++ b/python/problems/while_and_if/checking_account/sl.py @@ -11,7 +11,7 @@ description = '''\
Državna agencija za varstvo potrošnikov je razpisala projekt za izdelavo programa, s katerimi bodo lahko potrošniki nadzorovali svoje tekoče račune. V program uporabniki vtipkavajo prejemke in izdatke (kot pozitivne in negativne zneske) na svojem tekočem računu. Program jim sproti izpisuje -stanje in se ustavi, ko je uporabnik v minusu za 100 evrov ali več.
+stanje in se ustavi, ko je uporabnik v minusu za 100 evrov ali več. Takrat naj program izpiše "Bankrot".Sprememba 23 Stanje 23 @@ -32,7 +32,7 @@ Bankrot ''' main_plan = ['''\ -Plan
je enak kot pri prejšnjih nalogah, le vsebina je drugačna: +Plan je enak kot pri prejšnjih nalogah, le vsebina je drugačna:
1.Ponavljaj dokler ni bankrot 2.Preberi ceno diff --git a/python/problems/while_and_if/competition/sl.py b/python/problems/while_and_if/competition/sl.py index 8d01ad4..2fedf14 100644 --- a/python/problems/while_and_if/competition/sl.py +++ b/python/problems/while_and_if/competition/sl.py @@ -21,7 +21,7 @@ Vsota: 7''' main_plan = ['''\ -Plan bo enak kot pri prejšnji nalogi, +
Plan bo enak kot pri prejšnji nalogi, le število ponavljanj se spremeni.
''', '''\@@ -35,7 +35,7 @@ plan = [main_plan] while_clause = ['''\ -Kako bi prebral 5 cen z uporabo zanke while?
''', +Kako bi prebral N cen z uporabo zanke while?
''', '''\Zanka while ima naslednjo sintakso:
@@ -52,7 +52,7 @@ našem primeru s stavkom n.''' ] summation = ['''\ -Računanje vsote bo najlažje sproti v zanki.
''', +
Računaj vsoto sproti v zanki.
''', '''\
Izmisli si spremenljivko, ki bo predstavljala vsoto, jo na diff --git a/python/problems/while_and_if/consumers_anonymous/common.py b/python/problems/while_and_if/consumers_anonymous/common.py index 07a0ebf..b955f49 100644 --- a/python/problems/while_and_if/consumers_anonymous/common.py +++ b/python/problems/while_and_if/consumers_anonymous/common.py @@ -111,7 +111,7 @@ def hint(python, code): return [{'id' : 'printing'}] # student does not print any values - if not get_numbers(answer[0][1]): + if len(get_numbers(answer[0][1])) < 2: return [{'id' : 'nonumber'}] # student's answer is not correct (three possibilities) diff --git a/python/problems/while_and_if/consumers_anonymous/sl.py b/python/problems/while_and_if/consumers_anonymous/sl.py index 284abbc..cc5bcb7 100644 --- a/python/problems/while_and_if/consumers_anonymous/sl.py +++ b/python/problems/while_and_if/consumers_anonymous/sl.py @@ -46,17 +46,17 @@ Porabili boste 10 evrov za 10 stvari. ''' main_plan = ['''\ -
Plan je enak kot pri prejšnjih nalogah: while zanka + izpis števca in vsote.
+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.
''', +Pogoj v zanki
''', '''\while
bo sestavljen iz več pogojev.V Pythonu združujemo pogoje z logičnimi operatoriji
''' '''\and
,or
innot
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!
''', +Vendar pazite: napisati moramo pogoj, kdaj se zanka nadaljuje!''', '''\cena != 0 and vsota < 100 and artiklov < 10 @@ -110,10 +110,10 @@ hint = { Pravilna vsota [%=sum%], pravilno število stvari: [%=count%]'''], 'final_hint': ['''\ -Odlično! Naloga rešena.
+Odlično! Naloga rešena.
'''], 'eof_error':[mod.general_msg['eof_error'], diff --git a/python/problems/while_and_if/minimax/common.py b/python/problems/while_and_if/minimax/common.py index 71632b7..dcfb311 100644 --- a/python/problems/while_and_if/minimax/common.py +++ b/python/problems/while_and_if/minimax/common.py @@ -60,7 +60,7 @@ def test(python, code): n_correct = 0 tin = None for i, (output, correct) in enumerate(zip(outputs, test_out)): - if all(string_almost_equal(output, correct[i]) for i in range(4)): + if all(string_almost_equal(output, correct[i], prec=2) for i in range(4)): n_correct += 1 else: tin = test_in[i][1] diff --git a/python/problems/while_and_if/minimax/sl.py b/python/problems/while_and_if/minimax/sl.py index a76bd2e..2b07efa 100644 --- a/python/problems/while_and_if/minimax/sl.py +++ b/python/problems/while_and_if/minimax/sl.py @@ -22,7 +22,7 @@ Najvišja cena: 4 ''' main_plan = ['''\ -
Š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. +cena > 0 and stevec < 10 and vsota < 100
. Temu pravimo De Morganov zakon.Plan:
+Plan:
1. Ponavljaj dokler je cena večja od 0: 2. Preberi ceno. diff --git a/python/problems/while_and_if/top_shop/common.py b/python/problems/while_and_if/top_shop/common.py index 115dc9e..887d43e 100644 --- a/python/problems/while_and_if/top_shop/common.py +++ b/python/problems/while_and_if/top_shop/common.py @@ -55,7 +55,7 @@ def test(python, code): n_correct = 0 tin = None for i, (output, correct) in enumerate(zip(outputs, test_out)): - if all(string_almost_equal(output, correct[i]) for i in range(2)): + if all(string_almost_equal(output, correct[i], prec=2) for i in range(2)): n_correct += 1 else: tin = test_in[i][1] diff --git a/python/problems/while_and_if/top_shop/sl.py b/python/problems/while_and_if/top_shop/sl.py index ee9d02d..b577633 100644 --- a/python/problems/while_and_if/top_shop/sl.py +++ b/python/problems/while_and_if/top_shop/sl.py @@ -24,7 +24,7 @@ Poprečna cena: 2.33333333333 ''' main_plan = ['''\ -Plan:
+Plan:
1. Ponavljaj dokler je cena večja od 0: 2. Preberi ceno. @@ -94,7 +94,8 @@ while cena != 0: ...'''], 'final_hint': ['''\ -Odlično! Kaj bi pa moral narediti, da bi število -1 pomenilo konec?
''', +Odlično, program je pravilen!
''', '''\
+Kaj bi pa moral narediti, da bi število -1 pomenilo konec?Spremeniti pogoj in paziti, da se vrednost -1 ne prišteje vsoti!
'''], -- cgit v1.2.1