# coding=utf-8 import server mod = server.problems.load_language('python', 'sl') name = 'Največji absolutist' slug = 'Največji absolutist' description = '''\

Napiši funkcijo max_abs(xs), ki vrne največje število po absolutni vrednosti v seznamu xs.

>>> max_abs([5, 1, -6, -7, 2])
-7
''' function = ['''\

Napiši definicijo funkcije max_abs(xs).

''', '''\

Definicijo funkcije začnemo z def, temu sledi ime, potem oklepaji, v katerih naštejemo argumente funkcije, nato zaklepaj in na koncu dvopičje

''', '''\
def max_abs(xs):
    # poišči največje absolutno število v xs

s = [5, 1, -6, -7, 2]
print (max_abs(s))
'''] main_plan = ['''\

Plan: po vrsti pogledamo vse elemente in sproti hranimo največjega (glede na absolutno vrednost).

''', '''\
najvecji = prvi element od xs
for x in xs:
    če je x večji od najvecji po absolutni vrednosti:
        najvecji postane x
vrni najvecji
'''] return_clause = ['''\

Namesto, da izpišemo rezultat, ga vračamo s stavkom return.

'''] plan = [function, main_plan, return_clause] for_loop = ['''\

Preglej elemente z zanko

. ''', '''\
for x in xs:
'''] if_clause = ['''\

Preveri, če je trenutni element večji od največjega (po absolutni vrednosti)

''', '''\
if abs(x) > abs(najvecji):
    najvecji = x
'''] hint = { 'no_def': function, 'no_return': return_clause, 'for_loop': for_loop, 'if_clause': if_clause, 'not_int': '''\

Funkcija ne vrača števila

''', 'return_first': '''\

Funkcija vrača prvi element v seznamu''', 'return_last': '''\

Funkcija vrača zadnji element v seznamu.''', 'return_greatest': '''\

Funkcija vrača največji pozitivni element v seznamu (ne pa največji po absolutni vrednosti).''', 'return_positive': '''\

Funkcija napačno vrača absolutno vrednost največjega števila.''', 'return_indent': '''\

Ali imate stavek return znotraj zanke? V tem primeru se lahko zgodi, da se zanka ne izteče do konca.

''', 'final_hint': '''\

Odlično, naloga rešena! Še zanimivost: Tudi to nalogo lahko rešimo s funkcijo max:

def max_abs(xs):
    return max(xs, key = abs(x))
''', }