summaryrefslogtreecommitdiff
path: root/python/problems/functions/greatest_negative/sl.py
blob: 31f1fd6f0623b2f7c43a43424e578d8d78e21186 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# coding=utf-8
import server
mod = server.problems.load_language('python', 'sl')


name = 'Največji negativec'
slug = 'Največji negativec'


description = '''\
<p>Napiši funkcijo <code>max_neg(xs)</code>, ki vrne največje negativno število
v seznamu <code>xs</code>. Če seznam nima negativnih števil, naj funkcija vrne <code>None</code>.</p>
<pre>
>>> max_neg([5, 1, -6, -7, 2])
-6
</pre>
'''

function = ['''\
<p>Napiši <b>definicijo funkcije</b> <code>max_neg(xs)</code>.</p>''',
            '''\
<p>Definicijo funkcije začnemo z <code>def</code>, temu sledi ime, potem oklepaji,
v katerih naštejemo argumente funkcije, nato zaklepaj in na koncu dvopičje</p>''',
            '''\
<pre>
def max_neg(xs):
    # poišči največje negativno število v xs

s = [5, 1, -6, -7, 2]
print (max_neg(s))
</pre>''']

main_plan = ['''\
<p><b>Plan</b>: po vrsti pogledamo vse elemente in sproti hranimo največje negativno
število.</p>''',
             '''\
<p>Na začetku ne moremo največjemu nastaviti vrednosti prvega elementa v seznamu,
saj je lahko prvi element pozitiven.</p>''',
             '''\
</p>Nastavite ga na <code>None</code></p>''',
             ]

return_clause = ['''\
<p>Namesto, da izpišemo rezultat, ga vračamo s stavkom <code>return</code>.</p>''',
                 '''\
<p>Pazi, da vrneš rezultat, šele ko se zanka izteče.</p>''']

plan = [function,
        main_plan,
        return_clause]

for_loop = ['''\
<p>Preglej elemente z zanko</p>.
''',
             '''\
<pre>
for x in xs:
</pre>''']


if_clause = ['''\
<p>Preveri, če je trenutni element negativen in večji od trenutno največjega negativca.</p>''',]


hint = {
    'no_def': function,

    'no_return': return_clause,

    'for_loop': for_loop,

    'if_clause': if_clause,

    'not_int': '''\
<p>Funkcija ne vrača števila</p>''',

    'return_first': '''\
<p>Funkcija vrača prvi element v seznamu''',

    'return_last': '''\
<p>Funkcija vrača zadnji element v seznamu.''',

    'return_greatest': '''\
<p>Funkcija vrača največji pozitivni element v seznamu (ne pa največji negativni).''',

    'return_positive': '''\
<p>Funkcija napačno vrača pozitivno vrednost največjega negativnega števila.''',

    'return_absolute': '''\
<p>Funkcija napačno vrača element z največjo absolutno vrednostjo.</p>''',

    'return_indent': '''\
<p>Ali imaš stavek <code>return</code> znotraj zanke?
V tem primeru se lahko zgodi, da se zanka ne izteče do konca.</p>'''

}